我引用了兩個靜態庫。我在調試模擬器模式下構建它們,並且與我的應用程序一起運行良好。然後我創建debug-iphone構建並將我的應用程序推送到設備。它打破了這個錯誤:爲什麼設備和模擬器的構建有所不同?
終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因: '*** - [NSCFString sizeWithCGFont:的pointsize:constrainedToSize:]:無法識別的選擇發送到實例0x24320'
然後SIGABRT錯誤顯示。
爲什麼在模擬器上工作正常,只能在設備上顯示?
- 編輯 -
終於想出了一個解決辦法,至少在設備上運行,但現在不是模擬器。拋出異常的方法是我用於字體的類。它是staticLibA的一部分,例如,這是有問題的庫。我在目標應用程序中包含了staticLibA作爲參考,還包括了問題類的.m文件。我已經引用了它的頭文件,這是NSString中的一個類別。這就是爲什麼直到我包含.m文件纔有效嗎?
如果我嘗試在模擬器中運行它,上面的類的構建輸出文件夾中出現重複的對象錯誤。
謝謝。我沒有使用cocos2d。這兩個庫是我創建的。我注意到問題庫中它的調試設備版本是爲i386設置的。我將其改爲與工作庫相同 - arm6/7。這沒有幫助。然後我注意到優化級別設置爲「最快,最小」,而工作庫設置爲「無」。我會試一試並回傳結果。 – 4thSpace 2009-11-23 16:55:49
優化更改沒有做任何事情。仍拋出異常。 – 4thSpace 2009-11-23 22:56:25