Utilisez Xcode 7 avec iOS 10

138

Je souhaite utiliser Xcode 7 avec iOS 10.

Si je comprends bien, travailler avec iOS 10 bêta nécessite Xcode 8 bêta, je dois donc mettre à niveau mon Xcode. Cependant, mon code ne peut pas être construit par le nouveau compilateur, je veux donc rester avec Xcode 7.

Comment puis-je y parvenir?

Fanruten
la source
2
Veuillez envisager de réécrire votre question pour qu'elle soit minimale, complète et vérifiable
Katya Handler
4
@ParagBafna: mais objective-c et swift sont des langages de programmation! Ce qui fait de Xcode un outil principalement utilisé pour la programmation . Cette question n'aurait jamais dû être close.
tharkay
Il y a une question en double avec des images de disque prêtes, vous n'avez donc pas besoin d'installer le plus récent Xcode: stackoverflow.com/a/39865199/286361
Vladimir

Réponses:

197

Vous devez utiliser DeveloperDiskImage de Xcode 8 Beta. Pour cet extrait de l'application Xcode 8 Beta et copiez DeveloperDiskImage pour iOS 10 dans votre dossier Xcode.

Supposons que vous extrayez Xcode vers Downloads / Xcode-beta.app

cp -r /Users/fanruten/Downloads/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0\ \(14A345\) /Applications/Xcode_7.2.1.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

Après avoir copié DeveloperDiskImage, vous devez démarrer Xcode et connecter un appareil iOS à votre mac.

Edit:
Avec une installation Xcode standard, on peut créer un lien logiciel:

sudo ln -s \
/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0\ \(14A5309d\) \
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0
Fanruten
la source
Si cela ne fonctionne pas pour vous, c'est simplement parce qu'il n'y a pas de Xcode_7.2.1.app, c'est juste Xcode.app, merci pour cela!
Markus
4
Cela ne semble pas fonctionner avec iOS 10 beta 2. Il se trompe avec kAMDMobileImageMounterDeviceLocked. Je n'ai pas encore trouvé de solution de contournement.
Jonathan Mitchem
2
Fonctionne pour moi avec beta3
mbo42
1
Quelqu'un a-t-il de la chance avec la bêta 6?
mlevi
4
Si cette réponse ne fonctionne pas pour vous, assurez-vous que la chaîne de fin de votre dossier Device Support ex. (14A5309d) correspond à la version de votre appareil iOS. Il désigne la graine bêta. Si ce n'est pas le cas, mettez à jour votre Xcode pour qu'il corresponde à la graine de votre appareil iOS, puis suivez la réponse ci-dessus.
Hunter Monk
70

Vous pouvez utiliser n'importe quel SDK sur une ancienne version de Xcode simplement en copiant et en collant le dossier du système d'exploitation dont vous avez besoin. De plus, vous ne pouvez évidemment pas avoir deux applications avec le même nom, alors renommez-les simplement en Xcode 7 et Xcode 8.

cliquez avec le bouton droit / ctrl-cliquez sur l'icône de l'application Xcode 8 pour afficher le contenu du package et accédez à cet emplacement et copiez le dossier iOS 10.0 ou WatchOS 3.0, etc.

/Applications/Xcode8.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport /Applications/Xcode8.app/Contents/Developer/Platforms/WatchOS.platform/DeviceSupport

entrez la description de l'image ici

Accédez ensuite au même emplacement dans Xcode 7 et collez le dossier.

/Applications/Xcode7.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport /Applications/Xcode7.app/Contents/Developer/Platforms/WatchOS.platform/DeviceSupport

entrez la description de l'image ici

Redémarrez Xcode 7. Vous devrez attendre un moment pour que Xcode reconstruise les symboles, etc.

Edison
la source
2
Pour rappel, le traitement des fichiers de symboles peut prendre plusieurs minutes. Je suis sur le dernier et le meilleur MacBook Pro et cela prend du temps. J'ai dû débrancher le téléphone après l'avoir branché pour la première fois b / c Xcode a dit à tort qu'il était verrouillé. Après cela, cela a très bien fonctionné, mais a pris un certain temps pour traiter les fichiers.
kbpontius
Oui, je l'ai mentionné dans mon message. À votre santé.
Edison le
Nous devons prendre en charge iOS 6 et 7, j'ai donc utilisé la technique ci-dessus pour ajouter le support 6.0, 6.1, 7.0 et 7.1 à Xcode 8.
iCyberPaul
Bonne réponse @tymac - J'ai suivi vos étapes, mais je ne vois pas iOS 10 dans la cible de déploiement. Une idée?
Tal Zion
@TalZion Vous ne voyez pas la version dans le menu déroulant car vous devez vous assurer que la version de Xcode que vous utilisez est compatible avec la version de votre appareil. Il s'agit d'un problème d'image disque SIM.
Edison
25

Pour moi, aucune des suggestions ci-dessus n'a fonctionné.

Au lieu de cela, j'ai navigué jusqu'à cet emplacement (appuyez sur CMD + SHIFT + K pour insérer le chemin ci-dessous) (via le Finder)

/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

Et copié le 10.0(14A5339a)dossier, qui contient l'image disque du développeur. Je l'ai ensuite collé dans

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

EDIT: J'utilise Xcode7 (version 7.3.1-7D1014), iOS 10 public beta 6 (14A5345a) - cela est publié le 19 août 2016

rak appdev
la source
Agréable! Quelles versions de Xcode utilisez-vous? Il semble que vous utilisiez à la fois Xcode et Xcode beta - pourriez-vous ajouter une version pour les deux?
Cullub
1
cette solution a fonctionné pour moi! je devais revenir à xcode 7.3.1 pour travailler sur un ancien projet bloqué sur swift 2.x <2.3 (en raison de dépendances de bibliothèques tierces qui ne sont pas compatibles avec les versions swift supérieures), et je peux maintenant construire sur mon iphone sur iOS 10.2, merci !!
serre
2

Bien que la copie du dossier contenant l'image disque soit toujours la meilleure façon de procéder, je n'ai pas eu le temps de télécharger le dernier Xcode pour obtenir le dossier d'image disque, donc j'ai essentiellement archivé l'application et l'ai exportée à l'aide de l'option de déploiement Enregistrer pour le développement, puis installé sur l'appareil de test à l'aide de l'application iTunes.

Dans mon cas, j'ai Xcode 8.0 voulant construire sur un appareil iOS 10.2.1.

entrez la description de l'image ici

TheFuquan
la source
1

Pascal && Fanruten ont raison.

testé le 12 août, Xcode Version 7.3.1 (7D1014) ET iOS 10.0 (14A5309d) sur iPhone6 ​​Plus.

J'ai fait un lien symbolique comme suggéré (les chemins sont un peu différents ... voir ci-dessous.) Mais fonctionne avec un lien vers Xcode Version 8.0 beta 4 (8S188o).

uniquement par souci d'exhaustivité:

Bêta 4

sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0\ \(14A5322e\)/  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0

Bêta 5

sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0\ \(14A5339a\)/  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0
ingconti
la source
Pour le lien symbolique De XCode 8 Beta 5 à Xcode 7:sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0\ \(14A5335a\)/ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0
cdf1982
0

La réponse de Tymac a presque fonctionné pour moi. Plutôt que de copier et de coller, j'ai ouvert deux fenêtres du Finder, puis j'ai fait glisser le dossier iOS 10 vers le dossier Xcode 7. Une fois qu'il est dans Xcode 7, ouvrez le dossier et assurez-vous qu'il existe un fichier dmg.

Auparavant, j'avais fait glisser une copie du dossier de prise en charge des appareils iOS 10 sur mon bureau, puis je l'avais copiée dans le dossier Xcode 7. Cela semblait décompresser le fichier dmg, donc Xcode 7 se plaignait toujours. Doit être un fichier dmg dans le dossier.

D. Rothschild
la source
0

Un avertissement. J'ai essayé d'utiliser XCode 7.3.1 avec des images ios 10 de XCode 8.1 pour le projet cordova (cela fonctionne), mais j'ai eu des problèmes avec les autorisations de notifications push (différentes configurations pour ios 8/9/10). Pas sûr, mais il me semble que certaines directives du compilateur manquent dans la version 7.3.1

3176243
la source
0

Le voici pour XCode 9 et iOS 11 Beta 1:

sudo ln -s \
/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/11.0\ \(15A5278f\) \
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/11.0
Bryan
la source
Cela fonctionne-t-il vraiment pour vous? Je ne peux pas ajouter un simulateur iOS 11 dans Xcode 8.
Ortwin Gentz
@OrtwinGentz ​​Voyez si vous pouvez lancer le simulateur dans Xcode 9 - s'il fonctionne, vous devriez pouvoir fermer Xcode 9 et déboguer votre application sur le simulateur à partir de XC 8.
Bryan
Je peux lancer le simulateur dans Xcode 9, bien sûr. Mais je ne peux pas construire avec Xcode 8 (contre le SDK iOS 10) et déboguer sur le simulateur iOS 11.
Ortwin Gentz
cette méthode fonctionnera-t-elle sur les appareils Xcode 7.3 et iOS 11?
DHEERAJ
-1

mes deux cents pour Xcode Version 11 beta contre Xcode 10 après wwdc2019:

ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.0 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.0

afin que je puisse utiliser mon iPhone avec iOS 13 beta dans Xcode 10.

après ln -s, veuillez relancer Xcode

ingconti
la source