2010-05-25 92 views
1

我有基於3.0 iPhone OS SDK的應用程序 其中一個任務是播放視頻(我使用MPMoviePlayerController執行此任務) 現在我嘗試使通用應用程序在3.0和3.2操作系統上工作 我完成了所有步驟在apple documentation中描述:升級iPad的當前目標;使運行時檢查符號使用iPhone通用應用程序。 MoviePlayer.framwork問題

[[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] 

函數。但是,當我開始我的設備上的應用程序 - iPhone OS用3.1.3我apllication是崩潰,並在下一次登錄:

Tue May 25 18:00:28 unknown SpringBoard[24] <Notice>: MultitouchHID(208b30) uilock state: 1 -> 0 
Tue May 25 18:00:29 unknown SpringBoard[24] <Notice>: MultitouchHID(292580) device bootloaded 
Tue May 25 18:00:34 unknown UIKitApplication:...[0xaa0f][1517] <Notice>: dyld: Symbol not found: _MPMoviePlayerWillEnterFullscreenNotification 
Tue May 25 18:00:34 unknown UIKitApplication:...[0xaa0f][1517] <Notice>: Referenced from: /var/mobile/Applications/876EA35E-5756-436B-A9E2-5481D4D62050/....app/... 
Tue May 25 18:00:34 unknown UIKitApplication:...[0xaa0f][1517] <Notice>: Expected in: /System/Library/Frameworks/MediaPlayer.framework/MediaPlayer 
Tue May 25 18:00:35 unknown kernel[0] <Debug>: launchd[1517] Builtin profile: container (seatbelt) 
Tue May 25 18:00:35 unknown kernel[0] <Debug>: launchd[1517] Container: /private/var/mobile/Applications/876EA35E-5756-436B-A9E2-5481D4D62050 (seatbelt) 
Tue May 25 18:00:35 unknown ReportCrash[1518] <Notice>: Formulating crash report for process cnetmobile[1517] 
Tue May 25 18:00:36 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:...[0xaa0f]) Job appears to have crashed: Trace/BPT trap 
Tue May 25 18:00:36 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:...[0xaa0f]) Throttling respawn: Will start in 2147483646 seconds 
Tue May 25 18:00:36 unknown SpringBoard[24] <Warning>: Application '...' exited abnormally with signal 5: Trace/BPT trap 
Tue May 25 18:00:36 unknown ReportCrash[1518] <Error>: Saved crashreport to /var/mobile/Library/Logs/CrashReporter/..._2010-05-25-180034_...-iPhone.plist using uid: 0 gid: 0, synthetic_euid: 501 egid: 0 
Tue May 25 18:01:36 unknown SpringBoard[24] <Notice>: MultitouchHID(208b30) uilock state: 0 -> 1 

正如你所看到的錯誤是「找不到符號:_MPMoviePlayerWillEnterFullscreenNotification」。這個符號是從iPhone OS 3.2開始的MediaPlayer.framework中可用的通知。

那麼,我在做什麼錯了?我應該怎麼做才能在OS 3.2(具有新的可用功能)和較舊的操作系統(及其功能)上使通用應用程序正確工作?

回答

1

該常量的內容是字符串@"MPMoviePlayerWillEnterFullscreenNotification",因此您可以使用此字符串代替常量。

或者,你可以

  1. 使用functions like dlsym得到符號在運行時;或
  2. 使那個符號鏈接的弱(=自動操作的方式步驟1)
+0

謝謝。 我使用第二種方法。在目標的常規設置中設置「弱」類型的鏈接庫 - MediaPlayer.framework。 – e40pud 2010-05-26 09:33:39

0

它沒有添加MediaPlay.framework。