1

3.0 iPhone OS SDK를 기반으로하는 응용 프로그램이 있습니다. 작업 중 하나가 비디오를 재생 중입니다 (이 작업을 위해 MPMoviePlayerController 사용). 이제 3.0과 3.2 OS 모두에서 작동하는 범용 응용 프로그램을 만들려고합니다. 모든 단계를 수행했습니다. apple documentation : iPad의 현재 대상 업그레이드;iPhone 범용 앱. MoviePlayer.framwork 문제

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

기능을 사용하여 심볼에 대한 런타임 검사를 수행하십시오. 오류가 볼 수 있듯이

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를 기호를 찾을 수 없습니다"- 나는 장치에서 내 응용 프로그램을 시작할 때 OS 3.1.3와 아이폰을 내 apllication은 다음 로그와 충돌합니다. 이 기호는 iPhone OS 3.2에서 시작하는 MediaPlayer.framework에서 사용할 수있는 알림입니다.

그래서 내가 뭘 잘못하고 있니? OS 3.2 (새로운 사용 가능한 기능 포함) 및 이전 OS (기능 사용)에서 올바로 작동하는 범용 응용 프로그램을 갖추려면 어떻게해야합니까?

답변

1

상수의 내용은 @"MPMoviePlayerWillEnterFullscreenNotification" 문자열이므로 상수 대신이 문자열을 사용할 수 있습니다. 또한

, 그럴 수 런타임에 기호를 얻을 수

  1. 사용 functions like dlsym; 또는
+0

고맙습니다. 두 번째 방법을 사용합니다. 연결된 라이브러리의 "약한"유형 설정 - 대상의 일반 설정에서 MediaPlayer.framework. – e40pud

0

그것은 MediaPlay.framework 추가 아니에요 (자동으로 1 단계를 수행 =) 심볼이 약하게 연결합니다.

관련 문제