0

我肯定错过了什么。我正在尝试将现有的 Phonegap 插件转换为可使用 CLI 安装。我的问题是没有任何源文件或框架被复制到平台文件夹中,并且我的 config.xml 没有使用该功能进行更新。我已经看到了其他关于此的 SO 问题,但没有一个对我有帮助。

插件.xml

<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
    id="com.test.scanner"
    version="1.0.0">
    <name>Scanner</name>

   <js-module src="www/scanner-plugin.js" name="scanner-plugin">
       <clobbers target="plugins.scanner" />
   </js-module>

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

       <header-file src="src/ScannerSDK.h" />
       <header-file src="src/Scanner.h" />
       <source-file src="src/Scanner.m" />
       <framework src="src/libScannerSDK.a" />
   </platform>
</plugin>

我运行命令

$ phonegap local plugin add ~/Dev/Cordova/Plugins/ios/Scanner

它说它安装得很好。然后我使用 CLI 构建项目,但我的 config.xml 没有更新,并且我的 .m .h .a 文件都不在项目中(尽管 xcode 认为它们应该在那里)。js 文件在那里,cordova_plugins.js 文件已更新。我在插件文件夹中的 ios.json 文件中看到了 config.xml 等的更改,但它们从未传播到实际项目中。

我的文件结构是

Scanner
   /plugin.xml
   /src
     /ScannerSDK.h
     /Scanner.h
     /Scanner.m
     /libScannerSDK.a
   /www
     /scanner-plugin.js

我尝试过更改文件权限,打开和关闭 Xcode,删除插件的所有痕迹并重新开始,但到目前为止无济于事。

回顾一下:src 文件没有被复制到平台文件夹中,并且平台 config.xml 没有得到更新。

谢谢你的帮助!

4

1 回答 1

0

您是否尝试过删除 plugin.xml 文件并重新运行命令?

即使我的源文件被下载到我的项目中时,我对您的问题并不完全相同,但当我对我的 plugin.xml 文件进行更改时,它们并没有传播到项目的 plugin.xml 文件和文件/引用中没有被更新。但是,当我删除本地项目的 plugin.xml 文件并再次运行 plugin add 时,文件/引用已更新。也许您最初的 plugin.xml 没有对您的源文件的引用,现在您更新了它,更改不会传播到您的本地文件。

于 2013-11-28T12:08:50.223 回答