2010-10-07 21 views
0

J'ai regardé autour de Stack Overflow et je n'ai pas trouvé la solution d'un problème étrange.XCode 3.2.3 fonctionnant sur iOS3 - Cadre filaire

J'ai commencé à développer un projet sur XCode 3.1 puis j'ai décidé de mettre à niveau sur XCode 3.2.4 et de cibler les iPhones iOS3. J'ai ensuite suivi les sujets traitant de cela et j'ai changé le SDK de base à iOS 4.1 et l'OS cible à 3.0. Tout a bien fonctionné jusqu'à ce que j'ai apporté des modifications à mon projet.

En effet j'ai ajouté CoreMedia.framework à mon projet.

Il a bien fonctionné sur simulateur, mais s'est écrasé au lancement sur l'iPhone. Voici le journal que je peux obtenir:

<Notice>: dyld: Library not loaded: /System/Library/Frameworks/CoreMedia.framework/CoreMedia 
Referenced from: /var/mobile/Applications/72F009B5-82A8-49DC-A5CD-708EE1A4553C/myapp.app/myapp 
Reason: image not found 

(j'ai eu le même problème avec d'autres cadres comme CoreVideo par exemple)

J'ai essayé sur un iOS4 iPhone et cela a bien fonctionné, je pense que si XCode n » t lien/copier le bon cadre sur l'iPhone. Lorsque j'obtenir des renseignements sur un cadre sous XCode, voici le chemin que je reçois:

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.1.sdk/System/Library/Frameworks/MediaPlayer.framework

Mais je reçois le même chemin quand j'obtiens des infos sur un framework de la première version du projet (quand j'utilisais XCode 3.1). Il semble que les nouveaux cadres ajoutés ont une mauvaise référence.

Est-ce que quelqu'un a une idée de comment résoudre ce problème? Toute aide serait grandement appréciée. :)

Répondre

1

Vous devez un lien faible à vos bibliothèques.

Sur xcode atteindre les cibles-> clic droit obtenir des informations. Sur l'onglet Général de la section inférieure, vous verrez vos bibliothèques, modifiez le type CoreMedia pour qu'il soit faible.

la lib Ofcourse ne sont pas disponibles sur OS3 vous aurez donc besoin d'ajouter des contrôles dans votre code afin que vous appelez la coutume lib sur OS3

+0

Merci Guy pour votre réponse. Mais le problème est que j'ai besoin de ce framework sur OS3. Comment puis-je faire? – mat5454

+0

ce cadre n'existe que sur iOS4, il y avait une API privée pour iOS3 pour faire ce genre de choses, mais Apple a cessé de le soutenir une fois iOS4 est sorti. –

+0

Vous avez raison! Je suis stupide, je n'ai pas pensé à regarder ça. Merci beaucoup pour votre aide. – mat5454