如何在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" />