14. 学习iOS开发过程中遇到的问题(不定期更新)

2018-10-18  本文已影响29人  LynnXYT
  1. 解决XCode报错:The “Swift Language Version” (SWIFT_VERSION) build setting must be set

  2. dyld: Library not loaded: StarscreamSocketIO.framework/StarscreamSocketIO Reason: image not found

  3. Xcode链接选项 -ObjC、 -all_load、 -force_load

关于-ObjC

这个flag告诉链接器把库中定义的Objective-C类和Category都加载进来
这样编译之后的app会变大(因为加载了其他的objc代码进来)
但是如果静态库中有类和category的话只有加入这个flag才行

关于-all_load和-force_load

在64位ios应用环境下,由于链接器的一个bug,在静态库中只有category没有对应的class定义时,-ObjC标志会失效。这时可以使用-all_load强制加载所有目标文件,或者使用-force_load指定加载某一个包。
在Xcode4.2之后,这个链接器bug已经被修复,因此-all_load 和 -force_load标志都不再需要了。在必要时添加-ObjC即可。

上一篇 下一篇

猜你喜欢

热点阅读