科尔多瓦:没有“-all_load”的构建

时间:2013-05-22 03:39:40

标签: ios xcode cordova phonegap-plugins

我在使用Cordova和第三方插件构建iOS应用程序时遇到问题,该插件附带本机SDK。 Cordova需要Linker Flag“-all_load”,而其他SDK并不满意。

我读过这篇关于“-all_load”标志的帖子:Alternative for all_load in XCode's Other Linker Flags听起来我可能会使用“-force_load”而是指定Cordova想要的“目标文件”。

我对科尔多瓦的内部结构了解不多。有没有人有同样的问题,并成功地能够用“force_load”编译Cordova?你能提供 Cordova特定的“force_load”语法吗?

2 个答案:

答案 0 :(得分:3)

感谢来自@David H的指针,我能够通过以下方式替换Other Linker Flags“-all_load”开关:

-force_load $(BUILT_PRODUCTS_DIR)/libCordova.a

Cordova现在编译并启动正常而不会破坏我不喜欢“-all_load”的其他库

答案 1 :(得分:2)

这里的问题是包含类别的库在早期版本的Xcode中没有正确加载。从4.6开始,它们应该加载,你应该能够只使用链接器标志“-ObjC”,它告诉链接器检查这些库的库。

如果由于某种原因-ObjC标志不起作用,强制加载的语法是“

-force_load $(BUILT_PRODUCTS_DIR)/libxyz.a