17

我目前正在为 phonegap 3 制作插件。我有一个自定义框架可以使用 source-file 指令进行复制。在 plugin.xml 我试过:

<source-file src="libs/ios/mylib.framework" />

但是当我将插件添加到我的项目时出现错误:

mylib.framework 是一个目录(未复制)

我试图逐个文件复制框架文件,但它进入了错误的目录。

如何使用 plugin.xml 文件复制自定义 ios 框架?

4

3 回答 3

24

好消息:在我们说话的时候,科尔多瓦的人似乎正在努力解决这个问题。有一个功能请求以及对 GitHub 的提交,声称可以解决此问题。framework标签将支持该属性custom="true"。例如,您可以为AWS iOS SDK 运行时框架执行以下操作:

<framework src="src/ios/Frameworks/AWSRuntime.framework" custom="true" />

更新:似乎此更改已于 2013 年 11 月 29 日(两天前)成为当前 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`
于 2013-12-01T02:57:42.600 回答
2

您可以复制二进制文件应该在“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,您还必须知道一件事。

插件提交指南

任何包含二进制库的应用程序都将被拒绝。这是因为作为代码审查过程的一部分,我们需要能够准确地看到插件中的内容。因此,在提交插件时,请确保它不包含二进制库。(电话间隙

于 2013-11-28T15:55:36.510 回答
0

使用<framework src="libs/ios/mylib.framework" />.

于 2013-09-19T06:18:26.857 回答