注意:是的,我知道iOS 6處於NDA之下。這個問題與iOS 6沒有任何關係,期望我參考的類是新的在iOS 6中。「dyld:Symbol not found:」對於靜態庫中的iOS 6獨佔類
我創建了一個靜態框架用於我的幾個項目中,允許我在iOS 6中使用新API,如果它不可用,則會回落到iOS 5等效版本。然而,儘管我一定要經常檢查,如果一類是有效的使用它,像這樣前:
if ([NewClass class]) {
NewClass *newClass = [[NewClass alloc] init];
// etc.
}
每當我啓動我的應用程序在iOS 5的模擬器,我得到以下錯誤:
dyld: Symbol not found: _OBJC_CLASS_$_NewClass
(其中NewClass代表iOS 6類)。
這似乎只是使用靜態庫時的一個問題,就好像我包含某些在我的項目中直接引用API的文件並引用它們,它將在沒有問題的情況下啓動。我甚至試圖弱鏈接靜態庫,它仍然崩潰。唯一可行的選擇是弱連接UIKit,但我寧願不必這樣做,因爲UIKit是一個相當大的框架,弱連接需要額外的時間。
所以基本上,我能做些什麼來弱化靜態庫本身的這個類?