我看到在哪裏我的應用程序已經通過一個特設的部署安裝了iOS 4.3.5
手機這個錯誤(通過HTTP下載):找不到符號從靜態庫錯誤在iOS 4.3.5
dyld的錯誤信息:
Symbol not found: _OBJC_CLASS_$_NSJSONSerialization
Expected in: /System/Library/Frameworks/Foundation.framework/Foundation
我在應用程序代碼不調用iOS 5
庫,除非一類已被證明存在(即if(NSClassFromString(@"NSJSONSerialization")!=nil
),因此問題不在於呼叫被以iOS 5
庫做出了iOS 4的設備上。
該應用程序本身包含一個靜態庫這是我自己的代碼,並在NSJSONSerialization
引用存在。
如果直接從xcode中運行該應用程序的作品完美的iOS 4.3
設備上(即,經由USB電纜連接到顯影機的iPhone)。但是,當通過adhoc部署在同一臺設備上運行時,我看到了崩潰。
adhoc歸檔文件是通過Product->Archive
在xcode 4
中構建的,然後使用「分發」按鈕創建Ad-Hoc部署.ipa文件。
的應用程序崩潰,幾乎瞬間,讓我覺得,也許沒有我的代碼被稱爲可言的,它是我的檔案建立的設置,可能是不正確的嗎?
非常感謝您提前幫助您!
http://stackoverflow.com/questions/8342411/getting-dyld-symbol-not-found-objc-class-nsjsonserialization-on-ios4 – rishi 2012-04-23 13:37:24
主項目和靜態項目的部署目標是4.3。此外,iOS 5設備庫不會被調用/使用。 – 2012-04-23 13:47:57
@RIP - 這實際上是一個不同的,比這裏描述的更微妙的問題。正如我在我的回答中所描述的那樣,正常的基於類的弱連接在靜態庫和構建檔案或分發中失敗。 – 2012-04-23 16:40:04