我運行在一個iPad模擬器(4.3)的崩潰的應用程序由於缺少符號錯誤:的iPad模擬器(4.3)崩潰與dyld的錯誤
dyld: Symbol not found: _OBJC_CLASS_$_NSMetadataQuery
Referenced from: /Users/Me/Library/Application Support/iPhone Simulator/4.3.2/Applications/B13BE6DF-61B9-4C23-98E7-BEC72330FF19/iPad.app/iPad
Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/Foundation.framework/Foundation
in /Users/Me/Library/Application Support/iPhone Simulator/4.3.2/Applications/B13BE6DF-61B9-4C23-98E7-BEC72330FF19/iPad.app/iPad
在什麼時候在發射過程中做到這一點錯誤發生?我似乎並沒有被實際執行任何代碼 - 我已經把斷點在兩種情況:這個類將被實例化的位置(這是當版本< 5.0 從未執行),並在委託方法applicationWillFinishLaunching:
但是,碰撞發生在任何點被擊中之前。
我知道潛在的問題是在iOS 5.0中添加了NSMetadataQuery
類,但我當然想要保持與早期版本的向後兼容性。 (我正在使用正確的NSClassFromString
調用。)
我有一個iPhone應用程序,它在iOS 5.0上使用NSMetadataQuery
,並且在運行4.3或更低版本時跳過它,並在模擬器中正常工作。因此,我很困惑爲什麼這個特定的程序崩潰。
NSMetadataQuery
類是否確實存在於iOS 4.2和4.3版的iPhone版本中,但不在iPad版本中? (並且API直到iOS 5.0才暴露出來)
你是否在iOS 5.0中使用過庫文件libdyld.dylib?這可能是問題,因爲這個文件不適用於5.0以下版本的iOS –
我真的不知道 - 我怎麼才能確定我是否使用這個文件?我沒有明確記得添加它。 –
您使用低於4.2的XCode版本嗎? –