1

J'ai une application basée sur 3.0 iPhone OS SDK Une des tâches est la lecture vidéo (j'utilise MPMoviePlayerController pour cette tâche) Maintenant, j'essaie de faire l'application universelle à la fois sur OS 3.0 et 3.2 J'ai fait toutes les étapes décrit dans apple documentation: mise à niveau cible actuelle pour iPad; faire la vérification de l'exécution des symboles en utilisantApplication universelle iPhone. MoviePlayer.framwork problème

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

fonction. Mais quand je commence mon application sur l'appareil - iPhone OS 3.1.3 est mon apllication se bloque avec le journal suivant:

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 

Comme vous pouvez voir l'erreur est « Symbole introuvable: _MPMoviePlayerWillEnterFullscreenNotification ». Ce symbole est une notification disponible dans MediaPlayer.framework à partir de iPhone OS 3.2

Alors, qu'est-ce que je fais de mal? Que dois-je faire pour que l'application universelle fonctionne correctement sur OS 3.2 (avec les nouvelles fonctionnalités disponibles) et sur les OS plus anciens (avec leurs fonctionnalités)?

Répondre

1

Le contenu de cette constante est la chaîne @"MPMoviePlayerWillEnterFullscreenNotification", vous pouvez donc utiliser cette chaîne à la place de la constante.

Sinon, vous pourriez

  1. utilisation functions like dlsym pour obtenir le symbole lors de l'exécution; ou
  2. font ce symbole faiblement lié (= faire l'étape 1 automatiquement)
+0

Merci. J'utilise la deuxième approche. Définir le type de bibliothèque liée "Faible" - MediaPlayer.framework dans les paramètres généraux de la cible. – e40pud

0

Il est MediaPlay.framework pas ajouté.

Questions connexes