web-dev-qa-db-fra.com

Installez Simulator SDK 4.3 sur Xcode 4.4 sur Mountain Lion

Je souhaite installer le SDK 4.3 dans xcode 4.4 sur Mountain Lion (os x 10.8), mais lorsque j'ai installé le package 4.3 sdk de xcode 4.1 et lancé le simulateur à partir de xcode 4.4, le simulateur vient de me dire que le simulateur ios n'a pas pu trouver le sdk.

Il se peut que le sdk doive être réinstallé, ce qui signifie qu'il n'a pas pu fonctionner! Quel est le problème avec xcode 4.4 GM?

Y a-t-il des idées sur la façon de résoudre ce genre de problème?

58
Samblg

Je l'ai étudié, et c'est un comportement délibéré d'Apple.

Voici un extrait (modifié) du cache pour les emplacements de téléchargement Xcode:

~/Library/Caches/com.Apple.dt.Xcode/Downloads/eded78df8bfabaf6560841d10cf8e53766f74f28.dvtdownloadableindex

<dict>
    <key>source</key>
    <string>http://adcdownload.Apple.com/ios/ios_simulator__resigned/ios_43_simulator.dmg</string>
    <key>identifier</key>
    <string>Xcode.SDK.iPhoneSimulator.4.3</string>
    <key>name</key>
    <string>iOS 4.3 Simulator</string>
    <key>userInfo</key>
    <dict>
        <key>InstalledIfAllPathsArePresent</key>
        <array>
            <string>$(DEVELOPER)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk</string>
        </array>
        <key>ActivationPredicate</key>
        <string>$MAC_OS_X_VERSION < "10.8.0"</string>
    </dict>
</dict>

Notez le paramètre explicite "ActivationPredicate: $ MAC_OS_X_VERSION <10.8.0", qui n'est pas présent sur les autres packages de simulateur.

J'ai essayé de modifier le fichier, mais il est remplacé par une autre version dès l'ouverture de Xcode. Et je ne pouvais pas gérer un téléchargement manuel du 4.3 Simulator DMG: le site ADG génère une erreur "Session expirée".

On dirait que Apple a eu des problèmes avec le simulateur 4.3 et a décidé de le désactiver. Ce qui craint pour les personnes qui doivent prendre en charge cette version.

21
Kemenaran

J'ai déposé un DTS avec Apple et j'ai confirmé avec eux que le simulateur iOS4 n'est pas pris en charge sur Mountain Lion. Ils recommandent de tester sur un appareil réel.

16
Hisham

Cela ressemble à un problème Lion vs Mountain Lion.
J'ai mis à jour plusieurs machines vers Xcode 4.4 aujourd'hui. Les deux anciens systèmes Lion proposent d'installer les simulateurs iOS 4.3 et 5.0 sous xcode | préférences | téléchargements. Le nouveau système Mountain Lion propose uniquement le simulateur iOS 5.0.

10
perpenso

J'ai aussi eu cette situation ennuyeuse. Récemment, j'ai réussi à ajouter une vérification au moment de la compilation pour vérifier les API par rapport aux anciennes versions du SDK. Malheureusement, vous ne pouvez pas le tester avec l'ancienne version via le simulateur mais c'est toujours quelque chose.

Voici donc ce que j'ai fait:

J'ai d'abord dû obtenir l'ancien SDK Simulator que je voulais obtenir. Je pourrais facilement obtenir cela en téléchargeant les anciennes versions de Xcode 3 (pas 4) qui comprenaient le SDK nécessaire. Xcode 3.2.6 avec iOS SDK 4.3 est lié ici .

J'ai ensuite dû installer le SDK. Ce n'était pas trop difficile, donc je n'expliquerai pas grand-chose ici. Mais les SDK sont stockés dans le dossier Packages. Ce dossier est clairement visible dans les versions antérieures de Xcode 3 mais est masqué dans les versions ultérieures (comme Xcode 3.2.6). Vous pouvez facilement l'ouvrir de toute façon via le terminal. N'oubliez pas d'installer le SDK du simulateur , pas le SDK standard. De plus, après le changement dans Xcode 4.3 où le dossier Developer a été déplacé dans Xcode.app, j'ai dû installer le SDK dans un dossier tmp et déplacer moi-même le SDK dans Xcode.app. J'aurais alors besoin de redémarrer Xcode si je l'avais ouvert.

Après cela, j'ai dupliqué la configuration debug dans mon projet et l'ai nommée quelque chose comme iOS 4.3 API Check ou quelque chose comme ça - n'a pas vraiment d'importance. J'ai ensuite changé le SDK de base de cette nouvelle configuration pour l'ancien SDK que j'ai installé. Le SDK que j'ai installé n'était pas répertorié, j'ai donc dû sélectionner other et saisir iphonesimulator4.3.

Enfin, lorsque j'ai eu besoin de vérifier par rapport aux anciennes versions du SDK, j'ai changé la configuration du Run <appname>.app dans mon schéma de projet vers mon iOS 4.3 API Check configuration. Et c'est parti, une vérification à la compilation contre iOS 4.3.

9
Bo A

Après la mise à niveau vers ML, j'avais la possibilité de télécharger iOS 4.3 Simulator. Mais ça n'a pas marché! J'ai reçu une erreur lors du débogage. Lorsque j'ai essayé de changer la version du simulateur manuellement, elle s'est bloquée.

Si je l'avais su, j'aurais probablement attendu une solution, au lieu d'une mise à niveau.

1
Yariv Nissim