發(fā)文章
發(fā)文工具
撰寫
網(wǎng)文摘手
文檔
視頻
思維導(dǎo)圖
隨筆
相冊(cè)
原創(chuàng)同步助手
其他工具
圖片轉(zhuǎn)文字
文件清理
AI助手
留言交流
2012-11-23 10:24:43| 分類: iphone|字號(hào) 訂閱
dyld: lazy symbol binding failed: Symbol not found: _objc_setProperty_nonatomic
或者
dyld: lazy symbol binding failed: Symbol not found: _objc_setProperty_atomic
這個(gè)錯(cuò)誤就是說App可執(zhí)行文件里引用了objc_setProperty_nonatomic或objc_setProperty_atomic這些函數(shù)。但是代碼里顯然沒有直接調(diào)用這2個(gè)函數(shù),應(yīng)該是系統(tǒng)在編譯時(shí)生成的。經(jīng)過Debug調(diào)試發(fā)現(xiàn)總是在設(shè)置一個(gè)對(duì)象的屬性時(shí)出現(xiàn)這個(gè)錯(cuò)誤。而這個(gè)對(duì)象的類定義在靜態(tài)庫(kù)里面,所以我看了看靜態(tài)庫(kù)。經(jīng)過排查,發(fā)現(xiàn)導(dǎo)致這一問題的原因是這個(gè)靜態(tài)庫(kù)的Deployment Target設(shè)置成了6.0。因?yàn)閛bjc_setProperty_nonatomic和objc_setProperty_atomic是iOS6中新增的函數(shù),所以如果靜態(tài)庫(kù)的Deployment Target設(shè)置成iOS6,那么編譯后就會(huì)使用objc_setProperty_nonatomic和objc_setProperty_atomic這些新的API。由于iOS5中沒有這些API,運(yùn)行后將會(huì)崩潰。
結(jié)論靜態(tài)庫(kù)在編譯時(shí),Deployment Target一定要低于和等于工程的Deployment Target。否則容易出現(xiàn)低版本iOS運(yùn)行不兼容的情況。
來自: 許多潤(rùn)澤 > 《IOS》
0條評(píng)論
發(fā)表
請(qǐng)遵守用戶 評(píng)論公約
Objective-c的@property 詳解
//property(assign)NSString* name;@property(nonatomic,copy,readonly) NSString *name;//代碼二:@synthesize name = _name; //因?yàn)槟愣x了name,也就是getter方法,所以編譯器只會(huì)為生成setter方法...
iOS 類別中使用屬性
iOS 類別中使用屬性。如果要擴(kuò)展類的屬性,可以用associative,這個(gè)相對(duì)于category來說用的比較少,而且他還用到運(yùn)行時(shí)編程,必須使用<obj/runtime.h>,使用objc_getAssociatedObject,objc_setAss...
UICollectionView 高級(jí)進(jìn)階篇
UICollectionView 高級(jí)進(jìn)階篇。看函數(shù)名就可以知道各個(gè)函數(shù)實(shí)現(xiàn)的功能:第一個(gè)定位View的contentSize,第二個(gè)函數(shù)定義屏幕展示的范圍和數(shù)量,第三個(gè)定義cell的布局,第四個(gè)和第五個(gè)是可選項(xiàng),定義Suppl...
iOS按鈕暴力點(diǎn)擊的便捷解決方案
}- (void)setTimeInterval:(NSTimeInterval)timeInterval{ objc_setAssociatedObject(self, @selector(timeInterval), @(timeInterval), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
盤點(diǎn)一些iOS開發(fā)技巧:Swift和Objective
盤點(diǎn)一些iOS開發(fā)技巧:Swift和Objective盤點(diǎn)一些iOS開發(fā)技巧:Swift和Objective-C發(fā)表于2015-01-14 17:30|3869次閱讀| 來源NSHipster|16...
工程師必看的 20 道 iOS 面試題 - 小專欄
無論從哪個(gè)角度講,Swift 都將取代 Objective-C,成為 iOS 開發(fā)的主流語言。舉個(gè)簡(jiǎn)單的例子,代碼如下class Temperature { var value: F...
iOS開發(fā)-----多線程N(yùn)SThread
iOS開發(fā)-----多線程N(yùn)SThread1.創(chuàng)建和啟動(dòng)線程一個(gè)NSThread對(duì)象就代表一條線程。上述2種創(chuàng)建線程方式的優(yōu)缺點(diǎn)優(yōu)點(diǎn):簡(jiǎn)單快捷缺點(diǎn):無法對(duì)...
iOS多線程到底不安全在哪里?
當(dāng)我們討論property多線程安全的時(shí)候,很多人都知道給property加上atomic attribute之后,可以一定程度的保障多線程安全,類似:雖然str...
Associated Objects
objc_setAssociatedObjectobjc_getAssociatedObjectobjc_removeAssociatedObjects.- (void)setAssociatedObject:(id)object { objc_setAssociatedObject(self, @selector(associatedObject), object, O...
微信掃碼,在手機(jī)上查看選中內(nèi)容