web-dev-qa-db-fra.com

Est-il possible d'installer le SDK iOS 7 sur Xcode 6?

J'ai installé Xcode 6 mais je me rends compte que je ne peux développer que pour iOS8. Je suis conscient que ce kit de développement bêta est destiné au développement de la version bêta d'iOS 8, mais je suis dans une position où je n'ai pas encore le temps de le développer, mais je souhaite profiter de certaines des nouvelles fonctionnalités de Xcode tout en Je développe pour mes applications iOS 7 actuelles.

Que puis-je faire pour installer le SDK iOS 7 sur xcode 6?

35
Pavan

Il semble que si vous créez un lien symbolique entre le SDK correspondant d'une installation précédente de Xcode et le répertoire Xcode 6 Beta, Xcode 6 pourra l'utiliser. En supposant que vous avez encore Xcode 5.1.1 sur votre machine, essayez ce qui suit dans le terminal:

ln -s /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk

Cela devrait lier le SDK iOS 7 pour iPhone (pas sim), vous permettant de sélectionner iOS 7 comme SDK de base dans Xcode 6 Beta. Si vous souhaitez effectuer cette opération pour le simulateur, remplacez iPhoneOS.platform avec iPhoneSimulator.platform.

REMARQUE: Ce n'est pas parce que vous avez le SDK iOS 7 qu'il va se construire. J'ai personnellement des problèmes avec le fait que Xcode 6 Beta utilise le compilateur Apple LLVM 6.0, qui n'est apparemment pas compatible avec certaines des choses que j'essaie de construire.

réf: https://stackoverflow.com/a/11424966/23830

34
Ziewvater

Il suffit de poster pour que quelqu'un puisse le trouver utile: je voulais déboguer mon application sur iPhone exécutant iOS 7.1, dans XCode 6.0.1. La version iOS précédente n'était pas répertoriée dans la page des paramètres, à choisir comme SDK de base/cible de déploiement. (J'utilise OS X 10.10 Yosemite). J'ai installé XCode 6.0.1 et Xcode 5.0.1 et copié

/Application/XCode501.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk

à

/Application/XCode601.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

Maintenant, je peux exécuter des applications iOS 7 à partir de XCode 6.0.1.

3
Joe M

Il suffit de répéter le commentaire de Christian (sur la réponse de Ziewvater) pour qu'il soit plus important:

Ce qui est étrange est le fait qu'après avoir ajouté le lien symbolique à mon dossier Xcode, je vois mon appareil deux fois avec le nom exact et avec quelques informations (numéro de build iOS, modèle, identifiant de l'appareil) dans le sélecteur de cible dans le coin supérieur gauche de Xcode . Selon laquelle des deux entrées j'ai choisie, mon application fonctionne bien ou non, quel que soit le SDK DE BASE que j'ai choisi. ??! Quelqu'un connaît la même chose?

C'est exactement mon expérience aussi! Moi et mon équipe nous déchirions les cheveux en essayant de comprendre pourquoi certaines versions semblaient fonctionner et d'autres non.

Il semble que Apple doit ignorer le SDK de base (ou la cible ... ou quelque chose) lorsque vous choisissez le mauvais appareil dans la liste.

2
Benjamin Dobell

J'ai très bien changé la cible de déploiement et installé tout de même sur mon iPhone 4s iOS7. Vous pouvez faire tout votre développement de cette façon, puis utiliser 5.1.1 pour créer vos builds pertinents. Je ne conseillerais pas de créer des applications pour la production dans cet environnement bêta, même si vous le pouviez.

2
Fernando Mazzon

dans Xcode 6.1.1 (Fenêtre -> Préférences - Téléchargements), vous pouvez installer le simulateur iOS 7.1. malheureusement, il n'installe pas iOS 7.1 SKD. si vous définissez la cible de déploiement sur 7.1, toutes les versions sans aucun problème. Être inquiet!!!! c'est à vous de vérifier la compatibilité avec 7.1 (le SDK est toujours 8.1). peu importe, tous les problèmes d'exécution doivent être vus dans le simulateur. j'utilise cette approche pour construire pour mon iPhone 4 dans Swift, où iOS 7.1.2 est le dernier disponible. (n'utilisez simplement aucune classe disponible uniquement pour les nouveaux appareils :-))

0
user3441734