iPhone универсальное приложение. MoviePlayer.framwork проблема - PullRequest
1 голос
/ 25 мая 2010

У меня есть приложение на основе 3.0 iPhone OS SDK Одной из задач является воспроизведение видео (я использую MPMoviePlayerController для этой задачи) Сейчас я пытаюсь сделать универсальное приложение, работающее как на 3,0, так и на 3,2 ОС Я выполнил все шаги, описанные в документации Apple : обновить текущую цель для iPad; выполнить проверку во время выполнения для символов, используя

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

функция. Но когда я запускаю свое приложение на устройстве - iPhone с ОС 3.1.3, мое приложение вылетает со следующим журналом:

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». Этот символ является уведомлением, доступным в MediaPlayer.framework, начиная с iPhone OS 3.2

Итак, что я делаю не так? Что мне нужно сделать, чтобы универсальное приложение работало корректно на OS 3.2 (с новыми доступными функциями) и на более старых ОС (с их функциями)?

Ответы [ 2 ]

1 голос
/ 25 мая 2010

Содержимое этой константы является строкой @"MPMoviePlayerWillEnterFullscreenNotification", поэтому вы можете использовать эту строку вместо константы.

В качестве альтернативы, вы могли бы

  1. использовать функции, такие как dlsym, чтобы получить символ во время выполнения; или
  2. делает этот символ слабо связанным (= делает шаг 1 автоматически)
0 голосов
/ 07 сентября 2014

Это MediaPlay.framework не добавлено.

...