Cadre non trouvé MapKit

voix
1

J'utilise Xcode 3.2.1 dans le projet, où SDK de base est périphérique iPhone 3.0 et iPhone OS cible de déploiement est l' iPhone OS 2.0 , en d' autres termes une application rétrocompatible.

Le problème est cadre MapKit . Il est ajouté en tant que bibliothèque liée faible , mais l'application ne fonctionne tout simplement pas de lien pour - cible « Device 2.2.1 ». Je suis à court d'idées ... Que puis - je faire , mais marquer la bibliothèque comme « faible » chaînées? Il travaillait à l' origine, mais pas plus.

Voici une partie de la ligne de commande, ce qui semble très bien pour moi:

-framework Foundation -framework UIKit -framework CoreGraphics
 -weak_framework CoreLocation -weak_framework MapKit

Note d'erreur:

ld: framework not found MapKit
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.0 failed with exit code 1
Créé 16/12/2009 à 12:50
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
1

Juste pour clarifier le problème et la solution:

Problème: Je voulais créer une demande rétrocompatibles , ce qui irait à l' iPhone OS sur les deux appareils 2.x et 3.x.. Il utiliserait des fonctionnalités spécifiques 3.x lorsqu'ils sont disponibles , par exemple MapKit.

Solution: définissez votre "SDK de base en tant que périphérique iPhone 3.0" et "iPhone OS cible de déploiement que l' iPhone OS 2.0" . Connectez votre appareil 2.x iPhone OS ( le mien était iPod Touch, où je refuse de mettre à jour à la dernière version du logiciel disponible iPod) et sélectionnez dans le coin supérieur gauche de la cible « Device - 3.0 » - même lorsque l' appareil connecté est 3.0 compatible du tout !!!

Quelque peu confus, semble tout à fait non-logique au début, mais c'est la façon dont il fonctionne!

Créé 17/12/2009 à 08:23
source utilisateur

voix
1

Essayez le MailComposer exemple de projet d'Apple, qui fait une chose similaire avec le cadre MessageUI. Ce que vous devez faire est de définir le SDK de base à 2.2.1 au lieu de 2,0.

Créé 17/12/2009 à 06:20
source utilisateur

voix
1

Pour exécuter votre application sur 2.2.1, vous n'avez pas besoin de choisir 2.2.1 dans ce menu, il suffit de laisser le « actif SDK » réglé sur 3,0 ou au-delà.

Créé 16/12/2009 à 18:47
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more