Comment puis-je installer un fichier .ipa sur mon simulateur iPhone

165

J'ai un simulateur d'iphone en cours d'exécution sur mon Mac.

J'ai un fichier .ipa, pouvez-vous me dire comment puis-je l'installer sur le simulateur?

yinglcs
la source

Réponses:

137

Vous ne pouvez pas. S'il a été téléchargé via l'iTunes Store, il a été conçu pour un processeur différent et ne fonctionnera pas dans le simulateur.

août
la source
12
J'ajouterais que la seule façon de lancer une application iPhone dans le simulateur est de la compiler vous-même à partir de XCode, le simulateur étant la cible active.
Alex Wayne
1
vous pouvez exécuter le fichier d'application du projet dans le simulateur.
humblePilgrim
3
ressemble à quelqu'un ci-dessous a eu un certain succès en faisant cela. hackish, mais si cela fonctionne, il est utile de le savoir.
Randy L
13
Quiconque prétend avoir exécuté des applications iPhone sur le simulateur est illusoire. Le simulateur iPhone n'est pas un émulateur - il ne peut pas exécuter de code ARM.
duskwuff -inactif-
16
Il affichera l'icône dans le simulateur en utilisant la technique ci-dessous, cependant, notre application se bloque immédiatement lorsqu'elle est exécutée.
Matt Hudson
104

J'ai trouvé un fichier .ipa que je voulais en utilisant iTunes et je l'ai copié sur mon bureau.

Après cela, j'ai changé l'extension .zipet l' ai extraite.

Ensuite, j'ai trouvé le dossier Payload et déplacé l'application vers mon bureau.

Enfin, j'ai déplacé cette application dans le dossier des applications de mon simulateurs iPhone situé à l'adresse:

  • HD
  • > Applications
  • > Xcode.app (clic droit - Afficher le contenu du paquet)
  • > Sommaire
  • > Développeur
  • > Plateformes
  • > iPhoneSimulator.platform
  • > SDK
  • > iPhoneSimulator6.0.sdk
  • > Applications

J'espère que cela t'aides! (Remarque: certaines applications plantent plus souvent que d'autres.)

Keeton Feavel
la source
28
@DataGreed: il est déplacé vers HD> Applications> Xcode.app (clic droit - Afficher le contenu du paquet)> Contenu> Développeur> Plates-formes> iPhoneSimulator.platform> SDK> iPhoneSimulator6.0.sdk> Applications
Richard Poole
7
Le chemin pour XCode 4.3 ou plus récent sur OSX se trouve à l'emplacement suivant (notez que la partie 5.1 peut être différente sur votre machine) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5. 1.sdk / Applications
Brad Parks
14
l'application s'affiche dans le simulateur ... mais son crash dans iOS6 et iOS7
Sri
1
@DataGreed: Vous avez mentionné l'emplacement correct. La réponse mentionnée par Keeton m'a aidé à installer l'application LinkedIn mais elle plante. Une solution?
Jayprakash Dubey
3
Je confirme que cette méthode d'installation fonctionne même en mars 2016. (Bien que
plantée
66

Dans Xcode 6+ et iOS8 +, vous pouvez suivre les étapes simples ci-dessous

  1. Collez le fichier .app sur le bureau.
  2. Ouvrez le terminal et collez les commandes ci-dessous:

    cd desktop

    xcrun simctl install booted xyz.app

  3. Ouvrez le simulateur iPhone et cliquez sur l'application et utilisez

Pour les versions inférieures à iOS 8, procédez comme suit.

Remarque: vous voudrez vous assurer que votre application est conçue pour toutes les architectures, le simulateur est x386dans les paramètres de construction et Build Active Architecture Onlydéfini sur No.

  1. Chemin: Bibliothèque-> Application Support-> iPhone Simulator-> 7.1 (ou une autre version si vous en avez besoin) -> Applications
  2. Créez un nouveau dossier avec le nom de l'application
  3. Allez dans le dossier et placez le fichier .app ici.
sinh99
la source
23
Cette commande a fonctionné mais l'application se bloque car elle n'a pas été créée pour le simulateur. :(
JamesDeHart
5
Obtention de "Aucun périphérique n'est démarré."
Vijay Sharma
7
Ceci est utile pour toute personne qui a créé une application sur le simulateur et souhaite l'exécuter sur un autre simulateur. Notez que la question d'origine concernait un fichier .ipa mais pas un .app
ChrisH
5
Si vous avez un .ipa, renommez-le simplement en .zip et extrayez-le pour obtenir le .app
delrox
3
@Vijay J'ai dû démarrer manuellement le simulateur d'iPhone avant l'étape 2, mais sinon, cela fonctionne bien.
Glorfindel
36

Pour Xcode 9.4.1 et les derniers simulateurs:

J'espère que ma réponse est vue ici car cela m'a pris du temps à comprendre, mais je viens de la faire fonctionner.

Tout d'abord, vous devez créer et exécuter l'application sur votre simulateur. Ensuite, vous ouvrez le moniteur d'activité . Double-cliquez sur le nom de votre application pour trouver son contenu.

entrez la description de l'image ici

Dans l'écran suivant, ouvrez l' onglet Ouvrir les fichiers et les ports et recherchez la ligne avec MyAppName.app/MyAppName.

entrez la description de l'image ici

Copiez le lien, mais assurez-vous de vous arrêter à MyAppName.app . Ne copiez pas le chemin le suivant.

Contrôle cliquez sur l'icône du Finder et sélectionnez Aller au dossier .

entrez la description de l'image ici]

Collez le chemin et cliquez sur Entrée. Vous verrez votre fichier MyAppName.app. Copiez-le sur le bureau et zippez-le. Déplacez-le sur votre 2ème ordinateur souhaité et décompressez le fichier. Construisez un projet aléatoire pour ouvrir un simulateur.

Enfin: faites glisser et déposez littéralement l'application de votre bureau dans votre simulateur. Vous verrez l'installation et l'application s'ouvre et ne plante pas .

entrez la description de l'image ici

David Seek
la source
7
downvote sans commentaire pour une réponse qui fonctionne: D awesome
David Seek
Fonctionne pour transférer les builds de développement vers d'autres simulateurs!
Alex Pelletier
1
@AlexPelletier n'est-ce pas le but de ce dont nous parlons ici? xD
David Seek
33

Vous ne pouvez pas exécuter un fichier ipa dans le simulateur car le fichier ipa est compilé pour l'architecture ARM d'un téléphone, et non pour l'architecture x86 du simulateur.

Cependant, vous pouvez extraire une application installée dans un simulateur local, l'envoyer à quelqu'un d'autre et lui demander de la copier dans le simulateur de sa machine.

Dans le terminal, tapez:

open ~/Library/Application\ Support/iPhone\ Simulator/*/Applications

Cela ouvrira tous les dossiers d'applications de tous les simulateurs que vous avez installés. Chacune des applications sera dans un dossier avec un nom hexadécimal aléatoire. Vous pouvez déterminer quelle est votre application en regardant à l'intérieur de chacune d'elles. Une fois que vous avez trouvé celui que vous voulez, faites un clic droit dessus et choisissez "Compresser ..." et il créera un fichier zip que vous pourrez facilement copier sur un autre ordinateur et décompresser à un emplacement similaire.

rjmunro
la source
2
Sur iOS 8, il a été déplacé vers les applications par appareil: ~ / Library / Developer / CoreSimulator / Devices / 594C6B4D-AB19-479B-A047-240361C51D95 / data / Applications / Soopen ~/Library/Developer/CoreSimulator/Devices/*/data/Applications
CC.
Ou, vous pouvez l'extraire de votre simulateur, en lancer un autre (changer la version du système d'exploitation), puis l'installer là-dedans.
Alex Zavatone
4
Depuis iOS 10, vous devez copier les deux dossiers d'applications nommés hexadécimaux à partir des emplacements suivants: ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Data/Application/ ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Bundle/Application/Sinon, l'application n'apparaîtra pas dans le simulateur.
Macucula le
31

MISE À JOUR: Pour Xcode 8.0+, vous devez suivre les étapes ci-dessous:

  1. Téléchargez l'application sur iTunes
  2. Sélectionnez l'application téléchargée, cliquez avec le bouton droit sur afficher dans le Finder
  3. Copiez le .ipafichier sur le bureau, renommez-le en .zipfichier
  4. Extrayez ce .zipfichier et vous obtiendrez un répertoire avec le nom de l'application
  5. Vérifiez ce répertoire que vous trouverez le appfichier dans Payload dossier , copiez ce appfichier

  6. Aller à ~/Library/Developer/CoreSimulator/Devices

FYI: Library dossier est caché par défaut dans mac, vous pouvez voir le fichier caché en utilisant la commande ci-dessous.

defaults write com.apple.finder AppleShowAllFiles YES;
killall Finder /System/Library/CoreServices/Finder.app

Maintenant, vous verrez ici de nombreux répertoires avec de longs noms hexadécimaux, ce sont tous des simulateurs.

Pour trouver votre simulateur souhaité, triez ces répertoires en utilisant «Organisé par> Date de modification».

Sélectionnez ce fichier de simulateur et accédez à l'emplacement ci-dessous.

  1. <HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/
  2. Créer un nouveau nom de dossier avec <download-app-name>et collerapp fichier dans ce dossier
  3. Terminal ouvert et exécutez la commande ci-dessous pour installer cette application

    xcrun simctl install booted <APP_FILE_PATH>

L'exemple <APP_FILE_PATH>sera comme ci-dessous:

~/Library/Developer/CoreSimulator/Devices/<HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/<APP_NAME>
Kampai
la source
2
Vous pouvez utiliser xcrun simctl listpour trouver le simulateur et les codes
Paulo Amaral
3
Cela semble fonctionner, mais votre exemple de chemin d'application a besoin d'un / après le ~ au début, et le chemin doit aller jusqu'au fichier .app, pas seulement au répertoire qui le contient.
emery
1
Si vous voulez trouver le simulateur en cours d'exécution, vous pouvez utiliserxcrun simctl list | grep Booted
cjbarth
1
comment cela peut-il fonctionner de manière fiable pour toute application téléchargée? puisque seuls les binaires bras sont nécessaires, que ferait xcode d'autre pour le faire fonctionner? à moins que vous ne vouliez que les applications où vous aviez tous les actifs d'origine à recibler de toute façon?
whitneyland
19

Tout d'abord, les IPA n'ont généralement que des tranches ARM, car l'App Store n'accepte actuellement pas les tranches Simulator dans les téléchargements.

Deuxièmement, à partir de Xcode 8.3, vous pouvez faire glisser et déposer un .appbundle dans la fenêtre Simulator et il sera installé. Vous pouvez trouver l'application dans votre répertoire de produits de construction ~/Library/Developer/Xcode/DerivedData/projectname-xyzzyabcdefg/Build/Products/Debug-iphonesimulatorsi vous souhaitez l'enregistrer ou la distribuer à d'autres personnes.

Pour installer à partir de la ligne de commande, utilisez xcrun simctl install <device> <path>.

devicepeut être l'UUID du périphérique, son nom ou bootedce qui signifie le périphérique actuellement démarré.

russbishop
la source
2
Oui, vous pouvez glisser-déposer le .appfichier, mais cela ne copie pas tout ce dont le simulateur a besoin pour l'exécuter. L'application avec laquelle je travaille se bloque immédiatement. Xcode v.8.3.3
Matthew Poer
5
Il comprend, par définition, tout ce qui est nécessaire. Lorsque Xcode installe une application dans le simulateur, nous transmettons un chemin d'accès au .appfichier et c'est ce qui est installé. Votre application plante pour une raison différente.
russbishop
6

Vous pouvez exécuter le fichier d'application du projet dans le simulateur - pas le fichier .ipa.

Vous pouvez l'obtenir auprès de:

Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->alors vous pouvez voir de nombreux fichiers comme 0CD04F....trouver votre fichier d'application en l'ouvrant.

Vous pouvez copier le fichier sur votre emplacement système (quel simulateur système vous devez exécuter) Libraries-->Applicationsupport-->iphone simulator-->4.3(its your simulator version)-->applications-->

Ensuite, ouvrez le simulateur 4.3 (c'est votre version de simulateur où vous avez collé). Vous pouvez voir l'application installée ici.


Obtention d'autres personnes:

Veuillez leur dire de le savoir, Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->vous pouvez voir de nombreux fichiers comme ceux 0CD04F....de leur système et recevoir ce fichier d'eux.

Une fois qu'ils ont obtenu le fichier, veuillez copier et coller le fichier dans votre système `Bibliothèques -> Applicationsupport -> simulateur iphone -> 4.3 (c'est votre version de simulateur) -> applications -> (collez le fichier ici ).

Ensuite, vous pouvez voir que l'application est installée dans votre simulateur système et vous pouvez l'exécuter après avoir cliqué sur le fichier.

humblePilgrim
la source
5

Copier à partir d'ici:
- Exécutez l'application dans le Xcode. - Sélectionnez Finder, allez à Aller et cliquez sur sélectionnez Bibliothèque Bibliothèque / Application Support / iPhone Simulator / 7.0.3-64 / Applications - Sélectionnez le dossier 32 bits Copiez votre application.

Coller ici:
- /Applications/Xcode-Beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhone Simulator. SDK / Applications
- Collez ici et exécutez le simulateur.

Satheesh Guduri
la source
4

Avec Xcode 6:

Il est très possible de construire et d'installer sur un simulateur.

Je l'ai fait en copiant la configuration de construction de débogage (je l'ai appelée SimRelease pour mon exemple ci-dessous) dans les paramètres du projet. J'ai changé les architectures en i386 et x86_64 (je ne sais pas si c'était nécessaire), mais la principale différence à changer entre la configuration de construction copiée est la construction pour une architecture active définie sur NON. Après cela, quelques outils de ligne de commande simples feront le reste!

xcodebuild -scheme YOUR_SCHEME -configuration SimRelease -sdk iphonesimulator8.1

En fonction de l'emplacement de votre ensemble DerivedData, vous devez rechercher le dossier .app produit. Une fois que vous l'avez trouvé, vous pouvez simplement l'installer sur n'importe quel appareil de simulation. Pour trouver le Xcode ouvert de l'UUID de l'appareil et allez dans Fenêtre-> Appareils, vous verrez la liste des instances de l'appareil et vous pourrez récupérer les UUID. Pour un script trivial, vous pouvez les récupérer tous à partir de: ~ / Library / Developer / CoreSimulator / Devices / et les installer sur chaque appareil.

À partir de là, la commande simple à installer sur un appareil est:

xcrun simctl installer DEVICE_ID APP_FOLDER_LOCATION

Voici un script shell simple pour prendre l'application et l'installer sur chaque appareil:

app_dir=$1
current_dir=$(pwd)
cd ~/Library/Developer/CoreSimulator/Devices/
devices=$(ls -d */)
cd "$current_dir"
for device in $devices
do
    device_id=${device%/}
    xcrun simctl install "$device_id" "$app_dir"
done

J'espère que cela t'aides! Il m'a fallu un certain temps pour trouver la meilleure façon de le faire.

rfrittelli
la source
ce script est plus court: xcrun simctl install a démarré APP_FILE_PATH Mais lors de l'installation de l'application sur le simulateur, l'application ne peut pas fonctionner
Đông Hà
4

Pour Xcode 10, voici un moyen simple qui a fonctionné pour moi pour un IPA de débogage (profils de développement)

  1. Décompressez l'IPA pour obtenir le dossier Payload.
  2. Dans le dossier Payload se trouve l'exécutable de l'application.
  3. Faites glisser et déposez l'application sur un simulateur ouvert. (Vous pouvez voir un bouton d'ajout vert lorsque vous le faites glisser sur le simulateur)

Il devrait installer cette application sur ce simulateur.

Swasidhant
la source
Fonctionne pour moi, j'ai changé le nom de "my-app.ipa" en "my-app.ipa.zip" et après cela, je l'ai décompressé à l'aide de l'application macos Finder. Si vous souhaitez installer l'application à l'aide du terminal:xcrun simctl install "simulator-name" /path/to/my-app.app
Alex Buicescu
0

Étape pour exécuter dans un simulateur différent sans aucun dépôt de code: -

Créez d'abord un .app en construisant votre projet (sous le dossier du projet dans Xcode) et collez-le dans un emplacement approprié (voir photo pour plus de clarté)

entrez la description de l'image ici

  1. Télécharger Xcode
  2. Créez un projet de démonstration et démarrez le simulateur dans lequel vous souhaitez exécuter l'application.
  3. Copiez le fichier .app dans un emplacement particulier (ex: - Bureau).
  4. cd Desktop et exécutez la commande (xcrun simctl install booted appName.app),
  5. L'application sera installée dans le simulateur démarré particulier.
Anurag Bhakuni
la source