如何在Phonegap 3上使用plugin.xml复制自定义的ios框架
我目前正在为phonegap 3插件。我有一个自定义框架复制使用源文件指令。 在我尝试的plugin.xml中:
<source-file src="libs/ios/mylib.framework" />
但是当我将插件添加到我的项目时出现错误:
mylib.framework是一个目录(不复制)
我试图通过文件复制框架文件,但它是在错误的目录。
我怎样才能使用plugin.xml文件复制自定义的ios框架?
好消息是,cordova人似乎正在讲这个话题。 有一个function请求以及GitHub声称解决此问题的承诺 。 framework
标签将支持custom="true"
属性。 例如,下面介绍如何为AWS iOS SDK运行时框架执行此操作 :
<framework src="src/ios/Frameworks/AWSRuntime.framework" custom="true" />
更新:似乎这个变化使它成为当前在12/29/2013(两天前)的Cordova的稳定版本。 只需更新您的cordova和Plugman二进制文件,你应该很好去。
$ npm update -g cordova # if using `cordova plugin add xyz` $ npm update -g plugman # if using `plugman install --platform x --project y --plugin z`
你可以复制二进制文件 ( 谁应该在“mylib.framework / Versions / A /”中 )和头文件 ( “.h”谁应该在“mylib.framwork / Versions / A / Headers”中 )
喜欢这个
<source-file src="libs/ios/mylib.framework/Versions/A/mylibBinary" framework="true" /> <header-file src="libs/ios/mylib.framework/Version/A/Headers/mylibHeader.h" /> ...
你还必须手动添加依赖关系,IE:这个框架需要iOS AVFoundation.framework
所以你也需要添加这个。
<framework src="AVFoundation.framework" />
还有一件事你必须知道,如果你想提交这个插件到PhoneGap。
插件提交指南
任何包含二进制库的应用程序都将被拒绝。 这是因为我们需要能够看到插件中的内容,作为我们的代码审查过程的一部分。 所以当提交一个插件,确保它不包含二进制库。 ( PhoneGap )
使用<framework src="libs/ios/mylib.framework" />
。