VS-MDA:插件中的自定义iOS框架



我们想为我们的混合应用程序创建一个MobFox插件。它已经在 CLI-Cordova 应用程序中运行良好,但它在我们的混合应用程序中不起作用,因为似乎框架的目录结构(标头和版本目录之间的符号链接(被 Windows 破坏了,其中框架位于 mda 项目的插件内。如果我开始构建,则 的头目录不会被识别为符号链接,而是在 Mac 上识别为普通的可执行文本文件。

这就是我在插件 xml 中包含框架的方式:

<framework src="libs/ios/MobFox.framework" custom="true"/>

我还尝试将MobFox.framework复制到SDK框架文件夹,并像标准系统库一样引用它(运行良好(:

<framework src="MobFox.framework" />

但这也会失败,尽管框架现在正确地包含在 Xcode 中。但是编译器现在说它找不到MobFox.h类,这就是它的包含方式:

#import <MobFox/MobFox.h>

所以我真的认为问题是Windows无法处理.framework文件中的符号链接。有没有人有解决此问题的解决方法或解决方案?或者知道为什么我将文件放在标准框架文件夹中的解决方法不起作用?

任何帮助将不胜感激。

谢谢

同样的问题在这里 - 似乎当插件发布到 cordova 注册表时,它会丢失 .告诉XCode一切在哪里的框架包。

它们在 git 上维护,因此是 plugman 导出/发布中的某些内容出错了。

所以例如

cordova plugin add https://github.com/uxcam/cordova-uxcam

将适用于我正在编写的插件,但不适用于

cordova plugin add com.uxcam.cordova.plugin

这是已发布的版本。

如果你深入研究项目的"plugins"文件夹,你也添加了它,并在com.uxcam.cordova.plugin文件中"显示包内容",然后你可以进入'src/ios'UXCam.framework',看看它是如何搞砸框架文件夹中的符号链接的,这些链接应该指向Headers文件夹和一个链接库二进制文件。

参考:科尔多瓦错误报告在这里:https://issues.apache.org/jira/browse/CB-6092

更新:我已经通过手动将框架中的文件放入它们需要的位置来解决此问题。所以现在在我上面引用的 github 项目中,你可以看到框架库直接在 UXCam.framework 文件夹中,并且有一个明确的 Headers 文件夹,其中包含 UXCam.h 文件。这现在适用于已发布的插件。

这不是一个理想的解决方案,每次更新框架时,我都必须再次修复布局,但现在可以工作,直到我找到合适的位置来报告问题。

最新更新