2011-05-04 93 views
0

我的應用使用CoreAudio和CoreVideo框架(iOS4或更高版本支持)。現在我想讓我的應用在設備3或更高版本中運行。爲此,我已將核心音頻和核心視頻幀 設置爲弱參考。但它仍然給出同樣的問題。弱引用問題

dyld: Symbol not found: _OBJC_CLASS_$_AVCaptureDevice 
    Referenced from: /var/mobile/Applications/67EDB406-FBEF-4FA4-8B6A-752CD9E3DA31/TescoClubCard.app/TescoClubCard 
    Expected in: /System/Library/Frameworks/AVFoundation.framework/AVFoundation 
+0

?????夥計們幫助我... – iOSPawan 2011-05-05 04:50:06

回答

4

AVCaptureDevice類的iOS 4.0中引入,這樣就無法使用時,您的應用程序是在4.0版本之前的設備上運行使用。您應該在應用程序中調整代碼,以便首先檢查是否存在此類,並且只有在存在該方法時才使用它的方法(即,如果您運行的是4.0或更高版本的操作系統)。

Using Weakly Linked Classes in iOS文件包含有關如何確定給定類是否可爲您的應用程序使用起來非常不錯的說明以及文檔Using Weakly Linked Methods, Functions, and Symbols的相關部分介紹瞭如何檢查的具體使用方法或功能。

因此,基本上,您需要在條件語句中包裝使用4.0和更高版本API的代碼部分,以便具有早期操作系統的設備不嘗試使用該代碼,因爲這些庫不存在於該版本的操作系統中。

SDK Compatibility Guide文檔也可能有幫助。