2012-05-31 41 views
7

NSString常量可以弱鏈接嗎? AVCaptureSessionPresetiFrame960x540未在iOS 5之前定義。我避免實際引用它,並且它在gdb中加載得很好,但是當我加載一個ipa時,它在調用main之前似乎在dyld中崩潰。NSString常量可以弱鏈接嗎?

相關問題Using Weakly Linked Framework's extern constants Crash似乎說「不」,我也採取了相同的應用:直接使用字符串值。

+0

它可能是不相關的,但我發現連接器在爲.ipa歸檔生成時與弱鏈接符號的行爲不同:http://stackoverflow.com/a/10265140/19679。我不得不告訴用戶我的框架明確弱化了核心視頻框架,以防止臨時或App Store構建中的崩潰。 –

+0

非常符合我發佈後發現的內容。只有歸檔ipa的失敗,並使框架可選繞過了錯誤。 – smparkes

+0

WWDC的工作清單非常重要,可以追蹤工程師,看看這是一個錯誤,還是我錯過了構建過程中的一部分。 –

回答

6

常量也可能很弱。要測試常量在您必須檢查它的地址是不是NULL嘗試之前使用它:

if (&AVCaptureSessionPresetiFrame960x540 != NULL) { 
    // Constant is available and can be used 
} 

注意&操作者採取常量的地址。