首页 > 代码库 > iOS开发 .framework的Optional(弱引用)和Required(强引用)区别, 有错误 Library not found………………

iOS开发 .framework的Optional(弱引用)和Required(强引用)区别, 有错误 Library not found………………

http://www.cnblogs.com/wanyakun/p/3494323.html

 

强引用(Required)的framework是一定会被加载到内存的,但是弱引用(Optional)的framework只在需要时才会被载入内存,这对于比较大的framework来说,在最初加载的时候会省很多时间。

简单解释一下,有一些库如Social.framework 和 AdSupport.framework,是在iOS6之后才被引入的,还有一些更新了新特性的只能在iOS6+上可用。当你添加一个framework到你的工程里,他们被默认强引用(Required),然而,当你最终把程序配置在运行5.0的设备上时,你会发现它通不过最户的加载,原因就在于这些库是不被iOS5.0支持的,就需要我们把这些库的引用改为Optional.

技术分享

其次,如果你遇见了这个错误:duld:Library not found………………说明你有不应该强引用的可存在,这个错误报告里都会指明有哪些库需要弱引用。

 

/////   分隔线  //////

 

CoreAudioKit is not compatible with the iOS Simulator. Run it on a device, and it should build just fine

 

前几天在处理芒果的广告库时, 有个 CoreAudioKit.framework .这个是iOS8新增加的, 所以也要设置成optional, 不然, 在7上会崩溃

 

iOS开发 .framework的Optional(弱引用)和Required(强引用)区别, 有错误 Library not found………………