web-dev-qa-db-fra.com

Ajout d'anciens SDK iOS à Xcode 4.1 dans Lion

Je viens d'installer Lion et Xcode 4.1. Comment ajouter des SDK plus anciens pour pouvoir créer et exécuter des versions 4.1 ou 4.2 dans iPhone/iPad Simulator? Xcode 4.1 est uniquement fourni avec le SDK iOS 4.3. 

Lion a-t-il une sorte de SDK minimum pour les builds?

Merci,

20
Rafeed C.

En fait, il est est possible d’ajouter des SDK plus anciens tant que vous pouvez toujours mettre la main sur une ancienne version de Xcode avec l’ancien SDK. C'est utile aussi parfois: lorsque vous faites cela, vous obtenez des informations sur les constantes non prises en charge et les méthodes que vous utilisez peut-être pendant la compilation plutôt qu'au moment de l'exécution. Voici comment le faire.

  1. Procurez-vous une ancienne version de Xcode avec l’ancien SDK. Le centre de développement Apple iOS répertorie actuellement le SDK 4.3 avec le téléchargement Xcode 3.2.6.

  2. Montez le dmg et ouvrez le dossier Packages caché dans le dmg via un terminal:

    open/Volumes/Xcode\et\iOS\SDK/Packages /

  3. Double-cliquez sur le fichier pkg correspondant à la version de SDK souhaitée. Je cherchais iPhoneSDK4_3.pkg mais, en plus de la version 4.3, j'ai trouvé des paquets aussi anciens que iPhoneSDK3_0.pkg. Donc, peut-être que les anciens SDK peuvent toujours être fournis avec le téléchargement de l'App Store si vous savez où le trouver (je ne l'ai pas fait).

  4. Laissez-le s'installer dans son propre dossier de choix, car vous ne pourrez pas le forcer à installer dans Applications/Xcode.app/Contents/Developer (c'est là que se trouve le dossier Developer).

  5. Vous trouverez le paquet installé dans le dossier Platforms du volume que vous avez choisi. Déplacez le SDK approprié dans le dossier Developer du fichier Xcode.app. Vous devrez probablement utiliser Sudo:

    Sudo mv /Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk /Applications/Xcode.app/Contents/Developer/Platform/iPhoneOS.platform/Developer/SDKs/

  6. Redémarrez Xcode et vous devriez voir le nouveau (ancien) SDK répertorié dans vos options pour Base SDK. Yay!

Mise à jour au 12 septembre 2013

Si "l'ancien SDK" que vous essayez d'ajouter est fourni dans Xcode 4.3 ou version ultérieure, l'ajout du SDK est aussi simple que le téléchargement de Xcode à partir du centre de développement. Le lien "Recherche d'une version plus ancienne de Xcode?" (pointe actuellement ici ), monte la dmg, puis copie les fichiers correspondants.

Dans terminal, vous feriez quelque chose comme ceci (éditez pour le numéro de version du SDK approprié):

cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

Pour les SDK des versions de Xcode antérieures à 4.3, les étapes les plus anciennes sont toujours pertinentes.

J'ai constaté que cela fonctionnait pour obtenir le Xcode 5 GM afin de compiler des versions qui portaient l'ancienne interface utilisateur iOS 6, même lorsqu'elles étaient déployées sur des appareils iOS 7. Utile pour corriger les bogues en attente d'une refonte de l'interface utilisateur. Cela dit, il doit exister un moyen plus simple d'obtenir l'interface utilisateur iOS 6 sur un appareil iOS 7.

27
nioq

Tu ne peux pas. Ce que vous pouvez faire, cependant, est de cliquer sur l'entrée de niveau supérieur dans le navigateur de fichiers. Cela vous mènera aux paramètres de l'application. Accédez à l'onglet appelé Paramètres de construction et modifiez la cible de déploiement iOS pour la version d'iOS à partir de laquelle vous souhaitez prendre en charge (la version la plus ancienne prise en charge).

Voir "Pour modifier un paramètre de construction…": http://developer.Apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/Building/Building.html#//Apple_ref/doc/uid/TP40010215- CH9-SW5

8
FeifanZ

Ouvrez Xcode et ouvrez Préférences (menu Xcode -> Préférences). Cliquez sur l'icône Téléchargements et regardez dans l'onglet Composants. Toutes les versions de 3.0 à 5.1 devraient être disponibles. Cliquez simplement sur Installer pour ceux que vous souhaitez utiliser.

8
2cupsOfTech

Aucune de ces réponses n'a fonctionné pour moi pour Mac OS 10.8 et XCode 4.5. Mais maintenant que les choses sont installées dans le dossier Applications, il est beaucoup plus facile à gérer.

Option n ° 1: il est facile de conserver une copie ancienne de XCode en la renommant avant d'installer la nouvelle. Vous pouvez ensuite utiliser Produit-> Action de préforme-> Exécuter sans utiliser la nouvelle version pour tester de nouveaux périphériques ou simulateurs. 

Option n ° 2: si vous voulez VRAIMENT compiler avec des SDK plus anciens dans le nouveau XCode, vous pouvez simplement copier un SDK à l'aide du Finder. Pour que cela fonctionne, vous devez installer une ancienne version de XCode sous Applications. Dans l'exemple suivant, je viens de renommer XCode 4.4 en XCode_old avant d'installer XCode 4.5. Remarque: vous pouvez cliquer avec le bouton droit sur le fichier .app et choisir Afficher le contenu pour accéder à ces fichiers ou simplement utiliser le cp à partir d'une fenêtre de terminal.

from: /Applications/Xcode_old.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
to:   /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

Ensuite, iOS 5.1 apparaîtra sous Paramètres de construction en tant que Bask SDK. Vous pouvez faire la même chose pour les simulateurs:

from: /Applications/Xcode_old.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk
to:   /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/
6
Brainware

Vous ne pouvez pas le faire, mais cela fonctionnera bien pour un appareil branché sur une ancienne version d’iOS (sur lequel vous devriez effectuer vos tests).

1
jrtc27

Vous devez exécuter votre application dans l’ancienne version de Xcode fournie avec l’ancienne version iOS. J'ai 3.2.5 installé sous /Developer-3.2.5/. Je dois dire que c'est environ 10 fois plus rapide que Xcode 4 ... Vous pouvez télécharger les anciennes versions ici: http://iphonesdkdev.blogspot.com/2010/04/old-versions-of-iphone-sdk.html

1
Aram Kocharyan

En plus de la réponse de Steven, vous pouvez trouver des versions plus anciennes de XCode, y compris les SDK plus anciens:

Vous recherchez une version plus ancienne de Xcode?

0
Pega88

J'ai eu un problème similaire dans Xcode 4.02 pour Snow Leopard avec SDK 4.3. Je voulais tester sur un iPhone 3G, mais iOS4.2 est la dernière version (et la version correcte) de cet appareil. Afin de "voir" et de s'exécuter sur cet appareil du schéma, je devais modifier les paramètres de construction de la cible de déploiement iOS comme décrit ci-dessus. (En outre, vous devez également désactiver les restrictions sur l'iPhone pour permettre à Xcode d'installer l'application :))

0
user899007