Est-il possible d'obtenir le SDK iOS 5.1 pour Xcode 4.2 sur Snow Leopard?

139

J'ai toujours Snow Leopard. J'ai Xcode 4.2 pour le développement iOS. Ce matin, j'ai mis à niveau mon iPhone et mon iPad vers iOS 5.1.

Mais Xcode 4.2 ne détecte pas mon appareil pour le test. Je n'ai pas trouvé l'image du SDK iOS 5.1 sur le site des développeurs d'Apple, pour Xcode 4.2.

Je ne veux pas faire de mise à niveau vers Lion pour obtenir XCode 4.3 pour le moment.

Puis-je utiliser Xcode 4.2 (sur Snow Leopard) pour le développement iOS maintenant?

jpsasi
la source

Réponses:

213

Pour obtenir Xcode 4.2 sur Snow Leopard pour exécuter du code sur un appareil exécutant iOS 5.1, vous pouvez faire ceci:

  1. Si vous avez un autre Mac exécutant Lion et Xcode 4.3.1, vous pouvez copier les fichiers depuis:

    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)

  2. Placez les fichiers copiés à l'endroit équivalent sur votre Mac Snow Leopard: probablement

    /Developer/Platforms/iPhoneOS.platform/DeviceSupport

  3. De même, copiez les fichiers du SDK iOS 5.1 trouvés dans ce répertoire:

    /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk

  4. Copiez également «version.plist» de la machine Lion dans le dossier iPhoneOS.platform vers la machine Snow Leopard.

  5. Redémarrez Xcode sur la machine Snow Leopard et reconnectez les appareils et cela semble assez heureux.

Si vous n'avez pas accès à une machine avec Lion et Xcode 4.3.1:

  1. Vous pouvez obtenir les fichiers 4.3.1 DMGtéléchargeables sur Apple ici : Téléchargements pour les développeurs Apple .

  2. Montez le DMG, affichez le contenu du paquet sur l'icône Xcode et explorez

    /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

  3. Suivez les étapes ci-dessus.

Vous trouverez peut-être plus pratique d'utiliser la dittométhode propriétaire d'Apple ( sudo ditto src dest) dans la fenêtre du terminal pour copier les dossiers.

Notez que ce hack fonctionnera également pour le dernier SDK iOS 6.

Richard Groves
la source
3
Aujourd'hui, j'ai mis à niveau mon système vers Lion. Merci pour le hack.
jpsasi
Merci beaucoup :) A fonctionné parfaitement pour moi. Au moins, je pourrai développer avec sl pendant encore un certain temps.
OnTheFly
14
J'ai résolu le problème ci-dessus en copiant également les fichiers dans /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk. Merci pour cela, je peux maintenant différer le remplacement de mon ancien Mac pendant au moins quelques mois de plus.
Dan Dyer
6
@natbro - Je vois toujours l'amende dmg 4.3.1 sur developer.apple.com/downloads/index.action# et je la télécharge actuellement.
SubG
1
XCode 4.3.3 le contient également et fonctionne très bien. Merci beaucoup pour ça
Krym
14

Vous devez obtenir Lion, le SDK iOS 5.1 est uniquement pour Xcode 4.3.1 qui n'est disponible que pour Lion.

... et votre Xcode ne pourra pas être intégré à votre appareil si vous l'avez déjà mis à jour vers la version 5.1 car il ne sera pas sur cette version des SDK approuvés par Xcode

Mick MacCallum
la source
14

Je travaille là-dessus maintenant. J'ai le même problème.

Les PROBLÈMES MAJEURS ici sont les suivants:

1) Apple n'a jamais fourni de boîte de dialogue d'avertissement indiquant que cela pourrait désactiver les personnes développant sous Snow Leopard.

2) Il n'y a pas de moyen facile d'annuler cela.

3) Cela ne devrait pas se produire lors d'une mise à jour ponctuelle.

J'ai essayé d'installer l'ipsw précédent de 5.0.1 pour mon IPod Touch Gen 4 à partir d'ici: où télécharger les liens de restauration du micrologiciel de l'iPod touch Il ne sera pas installé.

J'ai téléchargé le Lion Xcode 4.3.1 à partir d'ici (connectez-vous d'abord en tant que développeur) Lion Xcode 4.3.1

Et exécutez quelques scripts des forums de développement ici:

sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/

sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1\ \(9B176\) /Developer/Platforms/iPhoneOS.platform/DeviceSupport/
cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport/

sudo rm -f ./Latest

sudo ln -s ./5.1\ \(9B176\) ./Latest

Démonté le Lion DMG et redémarré Xcode. Cela m'a permis de tester 5.1 dans le simulateur, mais a cassé chaque build sur chaque appareil avec une erreur SIGABRT ou de lien.

Je pars dans l'Apple Store pour leur demander de restaurer mon appareil. Si j'obtiens plus d'informations, je vous le ferai tous savoir. Cela a été une surprise TRÈS CHER et TRÈS DÉSAGRÉABLE.

Alex Zavatone
la source
3
Je suis entièrement d'accord avec vous. Le comportement d'Apple à ce sujet est au-delà de l'irresponsabilité. Cela vous dit: ils s'en moquent.
EdH
3
J'aimais Apple avant de devenir l'un des pauvres bâtards qui devaient se développer sur la plate-forme iOS.
Alex Zavatone
8

En ajoutant à la solution Richards ci-dessus, j'ai trouvé que si vous copiez également , à partir de XCode 4.3.1 dmg ...

edit: mis à jour pour corriger le chemin dans dmg

/Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Develope‌ r / SDKs / iPhoneOS5.1.sdk ~~ (arborescence entière de répertoires)

à

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

Le débogueur XCode démarrera correctement (sans tout le journal des erreurs et les vidages)

ie:
===============================================================================
warning: Unable to read symbols from "dyld" (prefix __dyld_) (not yet mapped into memory).
warning: Unable to read symbols from "SystemConfiguration" (not yet mapped into memory).
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/MessageUI.framework/MessageUI (file not found).
warning: No copy of dyld found locally, reading from memory on remote device.  This may slow down the debug session.
warning: No copy of <No file name> found locally, reading from memory on remote device.  This may slow down the debug session.
warning: No copy of <No file name> found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration (file not found).
warning: No copy of SystemConfiguration.framework/SystemConfiguration found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/MessageUI.framework/MessageUI (file not found).
warning: No copy of MessageUI.framework/MessageUI found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox (file not found).
warning: No copy of AudioToolbox.framework/AudioToolbox found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/iAd.framework/iAd (file not found).
warning: No copy of iAd.framework/iAd found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices (file not found).
warning: No copy of SpringBoardServices.framework/SpringBoardServices found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/PrivateFrameworks/FTClientServices.framework/FTClientServices (file not found).
warning: No copy of FTClientServices.framework/FTClientServices found locally, reading from memory on remote device.  This may slow down the debug session.
===============================================================================
dklt
la source
Je pense que le chemin que vous voulez dire est: /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs (ce qui est un peu plus profond que ce que votre message suggère - la hiérarchie compliquée avec laquelle Apple s'est retrouvé n'est pas it?)
Richard Groves
en effet, vous avez raison. mettre à jour le message pour refléter votre chemin correct. cheers ~
dklt
7

Il y a une réponse ici qui fournit également la copie du simulateur v 5.1. Aucune opération manuelle. Ouvrez simplement le terminal, copiez et collez les commandes fournies.

http://www.iphonedevsdk.com/forum/iphone-sdk-development/100229-snow-leopard-sdk-5-1-a.html

Prossel
la source
J'ai suivi les instructions de Richard Groves et de @ dklt. Cela n'a pas fonctionné. Mais j'ai tiré les scripts donnés dans ce lien et cela a fonctionné comme un charme
Vaishnavi Naidu
"Cette page Web sur www.iphonedevsdk.com a été signalée comme une page d'attaque et a été bloquée en fonction de vos préférences de sécurité." - Je ferais très attention :)
Roel Van de Paar
L'ensemble du site iphonedevsdk.com a été signalé, pas seulement cette page.
prossel
5

si vous souhaitez également ajouter le simulateur d'iphone 5.1 à votre xcode, copiez

/Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk

répertoire entier vers le chemin suivant =>

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/

après, vous pouvez également utiliser le simulateur iPhone 5.1 pour déboguer votre application.

hchouhan02
la source
1
J'obtiens les erreurs suivantes lorsque je fais cela @ hchouhan02: Erreur du compilateur Interface Builder XIB: «La commande / développeur / usr / bin / ibtool a échoué avec le code de sortie 255» et Non classé: «La tâche de construction a échoué sans générer de messages d'erreur.»
JRoss
Essayez ceci => quitter xcode => ouvrir xcode => nettoyer le projet après avoir essayé de construire le projet.
hchouhan02
5

Vous pouvez utiliser des applications compilées pour 5.0 sur votre appareil 5.1 ou 5.1.1 en les compilant et en faisant glisser manuellement le fichier .app sur iTunes. Essayé aujourd'hui sur 10.6.8 et XCode 4.2.

Marcin Ignac
la source
Cela a fonctionné pour moi aujourd'hui. Je suis sur SL avec xcode 4.2. [Mac OS X 10.6.8 (10K549). Xcode 4.2 (4C199). iPhone OS SDK 5.0: (9A334).]
martin jakubik
Vous pouvez trouver le fichier .app dans ~ / Library / Developer / Xcode / DerivedData / {app name} / Build / Products / Deployment / (grâce à stackoverflow.com/a/9673810/1208218 )
Roel Van de Paar
Et quelques informations supplémentaires ici pour savoir comment tout faire fonctionner: stackoverflow.com/a/11460561/1208218
Roel Van de Paar
4

Téléchargez le firmware iOS 5.0.1 de votre appareil sur ce lien: http://www.iphonefirmware.com/firmwares-download .

Et faites une restauration manuelle sur iTunes.

Je l'ai fait aujourd'hui (8 mars) sur mon iPad 2 et ça marche, Apple semble encore signer cette version iOS, je suppose que pas pour longtemps, alors faites-le vite.

booker
la source
1
10 mars: n'a pas fonctionné. J'ai reçu un message indiquant que la version du logiciel n'était pas prise en charge pour mon appareil, un iPod Touch 4G.
Seamus
Apple s'est arrêté pour le signer depuis le week-end dernier
booker
3

Il n'est pas possible d'utiliser un appareil 5.1 sur xcode 4.2, puisque vous ne souhaitez pas mettre à niveau, vous pouvez utiliser l'organiseur, sélectionner votre appareil et utiliser la fonction de restauration. Vous pouvez rechercher la version 5.0.1 sur Google et l'utiliser.

(bien que la mise à niveau vers le lion soit super bon marché)

EDIT: Cela semble possible, faites défiler vers le haut pour la réponse la plus votée.

Pochi
la source
Comme Mountain Lion sortira dans quelques mois, je ne veux pas passer à Lion maintenant, en supposant que je devrais pouvoir passer à Mountain Lion depuis Snow Leopard. Je suppose que j'ai besoin de trouver un moyen de restaurer iOS 5.0.1 sur mon appareil. Merci
jpsasi
vous êtes les bienvenus. Cela ne devrait pas être si difficile à restaurer, comme je vous l'ai déjà dit, xCode fournit la fonction de restauration (qui se trouve dans la fenêtre du menu de l'organiseur-> organisateur-> périphériques-> RestoreIphone). Btw ne sais pas si vous pouvez aller directement au lion de montagne, par exemple, vous devez passer par Snowleopard pour arriver au lion de léopard.
Pochi
Apparemment, il ne sera pas nécessaire de passer d'abord à Lion et vous pouvez passer directement de Snow Leopard à Mountain Lion
Roel Van de Paar
3

J'utilise Mac OS X 10.6.8 et Xcode 4.2 et j'ai également mis à niveau mon iPhone vers iOS 5.1. J'avais besoin d'obtenir une version de test sur l'appareil à la hâte hier, mais je n'ai pas eu le temps d'installer Lion et Xcode 4.3.

J'utilise TestFlight (www.testflightapp.com) pour les tests bêta. J'ai créé une archive .ipa à partir de Xcode 4.2 et j'ai pu l'installer sur mon iPhone mis à niveau iOS 5.1 via TestFlight.

Je sais que ce n'est pas une solution idéale, mais cela m'a aidé à sortir d'une situation difficile hier sans recourir à des hacks.

ps Je ne suis en aucun cas affilié à TestFlight.

egincyf
la source
2

Xcode 4.2 ne semble plus disponible sur developer.apple.com pour les utilisateurs de snow leopard: (également pour les développeurs iOS payants enregistrés comme moi ...

Il semble qu'à l'heure actuelle, il n'existe aucun moyen légal de l'obtenir ...

Gabry
la source
2

Vous devez également ajouter l'alias Symbols .. par exemple dans /Developer/Platforms/iPhoneOS.platform/DeviceSupport/6.0 (10A403)vous devez ajouter l'alias Symbols qui pointent vers /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdkpour que xcode 4.2 puisse détecter votre appareil ios6 (testé sur mac mini 1.5 intel core solo avec snow leopard). À votre santé

Walter
la source
Dans mon cas, l' Symbolsalias était déjà là après avoir copié le DeviceSupport/6.0 (10A403)dossier à partir de l'image disque Xcode 4.5.
herzbube
1

Je pense que vous pouvez tester le périphérique ios 5.1 dans Snow Leopard comme expliqué dans les articles ci-dessus. Mais il est toujours sûr de passer à Lion et d'utiliser la version officielle de sdk. Parce que nous ne pouvons pas prédire quel problème pourrait se produire si nous faisons quelques "astuces" sur notre machine pour y arriver et cela peut arriver lorsque vous êtes le plus indésirable (comme lors de la soumission à l'Appstore). :)

rakeshNS
la source
1

À la date de rédaction de cet article, le 20/03/2012, Apple ne permet pas aux utilisateurs d'installer les fichiers ipsw précédents à partir de la version 5.0.1. Si vous avez mis à niveau votre appareil vers iOS 5.1, comme je l'ai fait avec ma génération 4 Touch, vous devez soit exécuter iOS 5.1 dans Xcode 4.2, soit rétablir votre appareil en 4.x, soit remplacer votre appareil.

J'ai apporté ma touche à l'Apple Store et ils l'ont remplacée.

Si vous installez l'ipsw pour 5.0.1, les serveurs d'Apple indiqueront que cela n'est pas autorisé pour votre appareil et que vous ne pourrez pas revenir en arrière. Vous devrez essayer 4.x sur votre appareil ou vous assurer que le SDK iOS 5.1 est exécuté dans Xcode 4.2.

Alex Zavatone
la source
0

J'ai trouvé comment le résoudre!

Mon système est Snow Leopard 10.6.8, et j'ai deux ensembles de Xcode de 3.2.5 et 4.2, après avoir mis à niveau mon iPad 1 vers iOS 5.1, j'ai lancé Xcode 3.2.5, cela m'a incité une fenêtre de 'appareil inconnu a été trouvée ', je réponds' Oui 'pour télécharger plein de bibliothèques depuis mon iPad, quelques minutes plus tard, je peux déboguer et exécuter mes projets sur mon iPad!

Ensuite, j'ai lancé Xcode 4.2 et ouvert un de mes projets précédents, je peux vraiment le déboguer et l'exécuter sur mon iPad!

De cette façon, vous pouvez utiliser l'une ou l'autre des versions de Xcode pour développer des applications sur un système Snow Leopard.

golf d'art
la source