自定义 Cordova 插件 iOS index.js 无法识别我的 .js 文件

Posted

技术标签:

【中文标题】自定义 Cordova 插件 iOS index.js 无法识别我的 .js 文件【英文标题】:Custom Cordova plugin iOS index.js dosent recognise my .js file 【发布时间】:2016-04-04 15:01:41 【问题描述】:

我编写了一个自定义 Cordova 插件,它带来了作为依赖的“媒体”插件。

当我运行 "cordova plugin add "myPlugin"" 时,插件会安装到示例项目中,但是当在我的 index.js 中我尝试初始化我的插件时,它无法识别它并且如果我尝试创建 "Media" 对象确实如此。

这是我的插件 .xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
        id="cordova-plugin-MyPlugin"
        version="1.0.0">

  <name> MyPlugin </name>
  <description>Cordova MyPlugin Plugin</description>
  <author> MyPlugin </author>
    <license>MIT</license>
    <keywords> MyPlugin </keywords>

    <dependency id="org.apache.cordova.media"/>


  <js-module src="www/MyPlugin.js" name="MyPlugin">
    <clobbers target="window.plugins.MyPlugin" />
  </js-module>



  <platform name="ios">
    <config-file target="config.xml" parent="/*">
      <feature name="MyPlugin">
        <param name="ios-package" value="CDVMyPlugin" />
      </feature>
    </config-file>

    <!-- Sources -->
    <header-file src="src/ios/CDVMyPlugin.h"/>
    <source-file src="src/ios/CDVMyPlugin.m"/>


    <!-- iOS Frameworks -->
    <framework src="libz.dylib" />

  </platform>

</plugin>

感谢您的帮助。

【问题讨论】:

【参考方案1】:

问题显然出在文件底部的“MyPlugin.js”文件中:

module.exports = MyPlugin;

需要添加,然后在 Index.js 文件(或您选择的文件)中添加以下内容:

//获取自定义.JS文件的引用。

myCustomPlugin = cordova.require("cordova-plugin-MyPlugin.MyPlugin");


myPluginInstance = new myCustomPlugin(someParams,onSuccess,onError,null);

现在您可以访问 .JS 文件的方法了。

感谢 https://stackexchange.com/users/366553/marat-strelets 提供解决方案的帮助。

【讨论】:

以上是关于自定义 Cordova 插件 iOS index.js 无法识别我的 .js 文件的主要内容,如果未能解决你的问题,请参考以下文章

Cordova自定义插件开发 iOS

Cordova自定义插件开发 iOS

在 iOS 中使用自定义框架的 Cordova 插件错误

Cordova iOS 自定义插件:处理内存警告

如何让 Cordova 通过插件自动嵌入自定义 iOS 框架?

ionic cordova build ios 使用 xcode swift 3 框架安装自定义插件失败