2

我在使用 Cordova 和本机 SDK 附带的第三方插件构建 iOS 应用程序时遇到问题。Cordova 需要其他 SDK 不满意的链接器标志“-all_load”。

我读了这篇关于“-all_load”标志的帖子:XCode 的其他链接器标志中 all_load 的替代方案听起来我可以使用“-force_load”代替并指定 Cordova 想要的“目标文件”。

我对 Cordova 的内部结构了解不多。有没有人遇到过同样的问题并且能够成功地用“force_load”编译Cordova?您能否提供您的Cordova 特定的“force_load”语法?

4

2 回答 2

3

感谢@David H 的指点,我能够通过以下方式替换其他链接器标志“-all_load”开关:

-force_load $(BUILT_PRODUCTS_DIR)/libCordova.a

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

于 2013-05-23T04:11:10.923 回答
2

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

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

-force_load $(BUILT_PRODUCTS_DIR)/libxyz.a
于 2013-05-22T13:40:43.210 回答