Wie kann ich eine IPA-Datei auf meinem iPhone-Simulator installieren?

164

Ich habe einen iPhone-Simulator auf meinem Mac.

Ich habe eine IPA-Datei. Können Sie mir bitte sagen, wie ich sie auf dem Simulator installieren kann?

yinglcs
quelle

Antworten:

136

Das kannst du nicht. Wenn es über den iTunes Store heruntergeladen wurde, wurde es für einen anderen Prozessor erstellt und funktioniert im Simulator nicht.

August
quelle
12
Ich möchte hinzufügen, dass die einzige Möglichkeit, eine iPhone-App im Simulator zu starten, darin besteht, sie aus XCode selbst zu kompilieren, wobei der Simulator das aktive Ziel ist.
Alex Wayne
1
Sie können die Anwendungsdatei des Projekts im Simulator ausführen.
bescheidenPilgrim
3
Es sieht so aus, als hätte jemand unten Erfolg damit gehabt. hackish, aber wenn es funktioniert, ist dies nützlich zu wissen.
Randy L
13
Jeder, der behauptet, iPhone-Anwendungen auf dem Simulator ausgeführt zu haben, macht sich etwas vor. Der iPhone-Simulator ist kein Emulator - er kann keinen ARM-Code ausführen.
Abenddämmerung -inaktiv-
16
Das Symbol wird im Simulator mit der folgenden Technik angezeigt. Unsere App stürzt jedoch sofort ab, wenn sie ausgeführt wird.
Matt Hudson
104

Ich habe eine .ipa-Datei gefunden, die ich mit iTunes verwenden wollte, und sie auf meinen Desktop kopiert.

Danach habe ich die Erweiterung geändert .zipund extrahiert.

Als nächstes fand ich den Payload-Ordner und verschob die Anwendung auf meinen Desktop.

Schließlich habe ich diese Anwendung in meinen Anwendungsordner für iPhone-Simulatoren verschoben, der sich unter folgender Adresse befindet:

  • HD
  • > Anwendungen
  • > Xcode.app (Rechtsklick - Paketinhalt anzeigen)
  • > Inhalt
  • > Entwickler
  • > Plattformen
  • > iPhoneSimulator.platform
  • > SDKs
  • > iPhoneSimulator6.0.sdk
  • > Anwendungen

Hoffe das hilft! (Hinweis: Einige Apps stürzen häufiger ab als andere.)

Keeton Feavel
quelle
28
@DataGreed: Es wurde nach HD> Anwendungen> Xcode.app verschoben (Rechtsklick - Paketinhalt anzeigen)> Inhalt> Entwickler> Plattformen> iPhoneSimulator.platform> SDKs> iPhoneSimulator6.0.sdk> Anwendungen
Richard Poole
7
Der Pfad für XCode 4.3 oder neuer unter OSX befindet sich an der folgenden Stelle (beachten Sie, dass der 5.1-Teil auf Ihrem Computer möglicherweise anders ist) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5. 1.sdk / Anwendungen
Brad Parks
14
Anwendung Dispalying im Simulator .. aber es stürzt sowohl in iOS6 als auch in iOS7 ab
Sri
1
@ DataGreed: Sie haben den richtigen Ort angegeben. Die von Keeton erwähnte Antwort hat mir bei der Installation der LinkedIn-App geholfen, aber sie stürzt ab. Irgendein Fix?
Jayprakash Dubey
3
Ich bestätige, dass diese Installationsmethode auch im März 2016 funktioniert. (Obwohl abgestürzt, aber installiert)
jeet.chanchawat
66

In Xcode 6+ und iOS8 + können Sie die folgenden einfachen Schritte ausführen

  1. Fügen Sie die App-Datei auf dem Desktop ein.
  2. Öffnen Sie das Terminal und fügen Sie die folgenden Befehle ein:

    cd desktop

    xcrun simctl install booted xyz.app

  3. Öffne den iPhone Simulator und klicke auf App und benutze

Führen Sie für Versionen unter iOS 8 die folgenden einfachen Schritte aus.

Hinweis: Sie sollten sicherstellen, dass Ihre App für alle Architekturen erstellt wurde. Der Simulator befindet sich x386in den Build-Einstellungen und ist auf Build Active Architecture OnlyeingestelltNo .

  1. Pfad: Bibliothek-> Anwendungsunterstützung-> iPhone Simulator-> 7.1 (oder eine andere Version, falls erforderlich) -> Anwendungen
  2. Erstellen Sie einen neuen Ordner mit dem Namen der App
  3. Gehen Sie in den Ordner und platzieren Sie die .app-Datei hier.
sinh99
quelle
23
Dieser Befehl hat funktioniert, aber die App stürzt ab, da sie nicht für den Simulator erstellt wurde. :(
JamesDeHart
5
Erhalten "Es werden keine Geräte gestartet."
Vijay Sharma
7
Dies ist nützlich für alle, die eine App auf dem Simulator erstellt haben und diese auf einem anderen Simulator ausführen möchten. Beachten Sie, dass die ursprüngliche Frage eine .ipa-Datei betraf, jedoch keine .app
ChrisH
5
Wenn Sie eine .ipa haben, benennen Sie sie einfach in .zip um und extrahieren Sie sie, um die .app
delrox
3
@ Vijay Ich musste den iPhone Simulator vor Schritt 2 manuell starten, aber sonst funktioniert das einwandfrei.
Glorfindel
35

Für Xcode 9.4.1 und die neuesten Simulatoren:

Ich hoffe, meine Antwort wird hier unten gesehen, da ich eine Weile gebraucht habe, um das herauszufinden, aber ich habe es gerade zum Laufen gebracht.

Zunächst müssen Sie die App auf Ihrem Simulator erstellen und ausführen. Dann öffnen Sie den Aktivitätsmonitor . Doppelklicken Sie auf den Namen Ihrer App, um deren Inhalt zu finden.

Geben Sie hier die Bildbeschreibung ein

Öffnen Sie im nächsten Bildschirm die Registerkarte Dateien und Ports öffnen und suchen Sie die Zeile mit MyAppName.app/MyAppName.

Geben Sie hier die Bildbeschreibung ein

Kopieren Sie den Link, aber stellen Sie sicher, dass Sie bei MyAppName.app anhalten . Kopieren Sie nicht den Pfad, der ihm folgt.

Klicken Sie bei gedrückter Ctrl-Taste auf das Suchersymbol und wählen Sie Gehe zu Ordner .

Geben Sie hier die Bildbeschreibung ein]]

Fügen Sie den Pfad ein und klicken Sie auf die Eingabetaste. Sie sehen Ihre MyAppName.app-Datei. Kopieren Sie es auf den Desktop und komprimieren Sie es. Verschieben Sie es auf den gewünschten zweiten Computer und entpacken Sie die Datei. Erstellen Sie ein zufälliges Projekt, um einen Simulator zu öffnen.

Zuletzt: Ziehen Sie die App buchstäblich von Ihrem Desktop in Ihren Simulator. Sie sehen die Installation und die App wird geöffnet und stürzt nicht ab .

Geben Sie hier die Bildbeschreibung ein

David Seek
quelle
7
Downvote ohne Kommentar für eine Antwort, die funktioniert: D awesome
David Seek
Funktioniert zum Übertragen von Entwickler-Builds auf andere Simulatoren!
Alex Pelletier
1
@AlexPelletier ist das nicht der Punkt, von dem wir hier sprechen? xD
David Seek
33

Sie können keine IPA-Datei im Simulator ausführen, da die IPA-Datei für die ARM-Architektur eines Telefons kompiliert wurde und nicht für die x86-Architektur des Simulators.

Sie können jedoch eine in einem lokalen Simulator installierte App extrahieren, an eine andere Person senden und diese in den Simulator auf ihrem Computer kopieren lassen.

Geben Sie im Terminal Folgendes ein:

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

Dadurch werden alle Anwendungsordner aller von Ihnen installierten Simulatoren geöffnet. Jede der Anwendungen befindet sich in einem Ordner mit einem zufälligen hexadezimalen Namen. Sie können herausfinden, welche Ihre Anwendung ist, indem Sie in jede von ihnen schauen. Wenn Sie herausgefunden haben, welches Sie möchten, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Komprimieren ...". Daraufhin wird eine Zip-Datei erstellt, die Sie einfach auf einen anderen Computer kopieren und an einen ähnlichen Speicherort entpacken können.

rjmunro
quelle
2
Unter iOS 8 wurde es in Apps pro Gerät verschoben: ~ / Library / Developer / CoreSimulator / Devices / 594C6B4D-AB19-479B-A047-240361C51D95 / data / Applications / Soopen ~/Library/Developer/CoreSimulator/Devices/*/data/Applications
CC.
Oder Sie können es aus Ihrem einen Simulator extrahieren, einen anderen starten (die Betriebssystemversion wechseln) und es dann dort installieren.
Alex Zavatone
4
Seit iOS 10 müssen Sie beide hexadezimal benannten Anwendungsordner von den folgenden Speicherorten kopieren: ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Data/Application/ ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Bundle/Application/Andernfalls wird die App nicht im Simulator angezeigt.
Macucula
31

UPDATE: Für Xcode 8.0+ müssen Sie die folgenden Schritte ausführen:

  1. Anwendung von iTunes herunterladen
  2. Wählen Sie die heruntergeladene App aus und klicken Sie mit der rechten Maustaste auf Im Finder anzeigen
  3. Kopieren Sie die .ipaDatei auf den Desktop und benennen Sie sie in um.zip Datei
  4. Extrahieren Sie das .zip Datei und Sie erhalten ein Verzeichnis mit dem Anwendungsnamen
  5. Überprüfen Sie das Verzeichnis, in dem sich die appDatei im Payload- Ordner befindet, und kopieren Sie diese appDatei

  6. Gehe zu ~/Library/Developer/CoreSimulator/Devices

Zu Ihrer Information: Der LibraryOrdner ist in Mac standardmäßig ausgeblendet. Mit dem folgenden Befehl können Sie ausgeblendete Dateien anzeigen.

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

Jetzt sehen Sie hier viele Verzeichnisse mit langen hexadezimalen Namen, allesamt Simulatoren.

Um den gewünschten Simulator zu finden, sortieren Sie diese Verzeichnisse mit "Angeordnet nach> Änderungsdatum".

Wählen Sie diese Simulatordatei aus und gehen Sie zum unteren Speicherort.

  1. <HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/
  2. Erstellen Sie einen neuen Ordnernamen mit <download-app-name>und fügen Sie ihn einapp Datei in diesen Ordner ein
  3. Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus, um diese Anwendung zu installieren

    xcrun simctl install booted <APP_FILE_PATH>

Das Beispiel <APP_FILE_PATH>sieht wie folgt aus:

~/Library/Developer/CoreSimulator/Devices/<HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/<APP_NAME>
Kampai
quelle
2
Sie können verwenden xcrun simctl list, um den Simulator und die Codes zu finden
Paulo Amaral
3
Dies scheint zu funktionieren, aber Ihr Beispiel-App-Pfad benötigt am Anfang ein / nach dem ~, und der Pfad muss bis zur .app-Datei reichen, nicht nur bis zu dem Verzeichnis, in dem er enthalten ist.
Schmirgel
1
Wenn Sie den Simulator finden möchten, der gerade läuft, können Sie verwendenxcrun simctl list | grep Booted
cjbarth
1
Wie kann dies für jede heruntergeladene App zuverlässig funktionieren? Was würde xcode sonst noch tun, damit es funktioniert, da nur Arm-Binärdateien erforderlich sind? es sei denn, Sie meinten nur für Apps, bei denen Sie ohnehin alle ursprünglichen Assets zum Retargeting hatten?
Whitneyland
19

Erstens haben IPAs normalerweise nur ARM-Slices, da der App Store derzeit keine Simulator-Slices für Uploads akzeptiert.

Zweitens können Sie ab Xcode 8.3 ein .appBundle per Drag & Drop in das Simulator-Fenster ziehen und es wird installiert. Sie finden die App in Ihrem Build-Produktverzeichnis, ~/Library/Developer/Xcode/DerivedData/projectname-xyzzyabcdefg/Build/Products/Debug-iphonesimulatorwenn Sie sie speichern oder an andere Personen verteilen möchten.

Zum Installieren über die Befehlszeile verwenden xcrun simctl install <device> <path>.

devicekann die Geräte-UUID, ihr Name oder booteddas aktuell gebootete Gerät sein.

russbishop
quelle
2
Ja, Sie können die .appDatei per Drag & Drop verschieben , aber das kopiert nicht alles, was der Simulator zum Ausführen benötigt. App, mit der ich arbeite, stürzt sofort ab. Xcode v. 8.3.3
Matthew Poer
5
Es enthält per Definition alles, was benötigt wird. Wenn Xcode eine App im Simulator installiert, übergeben wir einen Pfad zur .appDatei und das wird installiert. Ihre App stürzt aus einem anderen Grund ab.
Russbischof
6

Sie können die Anwendungsdatei des Projekts im Simulator ausführen - nicht die IPA-Datei.

Sie können es bekommen von:

Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->Dann können Sie viele Dateien sehen, wie zum Beispiel 0CD04F....Ihre Anwendungsdatei durch Öffnen herausfinden.

Sie können die Datei auf Ihren Systemspeicherort (welchen Systemsimulator Sie ausführen müssen) kopieren Libraries-->Applicationsupport-->iphone simulator-->4.3(its your simulator version)-->applications-->

Öffnen Sie dann den Simulator 4.3 (es ist Ihre Simulatorversion, in die Sie eingefügt haben). Sie können die dort installierte Anwendung sehen.


Von anderen Leuten kommen:

Bitte sagen Sie ihnen, sie sollen es herausfinden, Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->dann können Sie viele Dateien wie 0CD04F....von ihrem System sehen und diese Datei von ihnen erhalten.

Nachdem sie die Datei erhalten haben, kopieren Sie sie bitte und fügen Sie sie in die Systembibliotheken -> Anwendungsunterstützung -> iPhone-Simulator -> 4.3 (Ihre Simulatorversion) -> Anwendungen -> ein (fügen Sie die Datei hier ein) ).

Dann können Sie sehen, dass die App in Ihrem Systemsimulator installiert ist, und Sie können sie ausführen, nachdem Sie auf die Datei geklickt haben.

bescheidenPilgrim
quelle
5

Von hier kopieren:
- Führen Sie die Anwendung im Xcode aus. - Wählen Sie Finder. Gehen Sie zu Los und klicken Sie auf Bibliotheksbibliothek / Anwendungsunterstützung / iPhone Simulator / 7.0.3-64 / Anwendungen. - 32-Bit-Ordner auswählen. Kopieren Sie Ihre Anwendung.

Hier
einfügen : - /Applications/Xcode-Beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhone Simulator. SDK / Anwendungen
- Hier einfügen und den Simulator ausführen.

Satheesh Guduri
quelle
4

Mit Xcode 6:

Es ist sehr gut möglich, auf einem Simulator zu bauen und zu installieren.

Ich habe dazu die Debug-Build-Konfiguration (in meinem Beispiel unten SimRelease genannt) in die Projekteinstellungen kopiert. Ich habe die Architekturen in i386 und x86_64 geändert (nicht sicher, wie notwendig dies war), aber der Hauptunterschied zum Ändern zwischen der kopierten Build-Konfiguration besteht darin, dass die aktive Architektur auf NO gesetzt ist. Danach erledigen ein paar einfache Kommandozeilen-Tools den Rest!

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

Je nachdem, wo Sie Ihre DerivedData festgelegt haben, müssen Sie den ausgegebenen .app-Ordner suchen. Sobald Sie es gefunden haben, können Sie es einfach auf einem beliebigen Simulator installieren. Um den geöffneten Xcode der Geräte-UUID zu finden und zu Fenster-> Geräte zu wechseln, wird die Liste der Geräteinstanzen angezeigt, und Sie können die UUIDs abrufen. Für ein triviales Skript können Sie alle herunterladen: ~ / Library / Developer / CoreSimulator / Devices / und auf jedem Gerät installieren.

Von dort aus lautet der einfache Befehl zum Installieren auf einem Gerät:

xcrun simctl installiere DEVICE_ID APP_FOLDER_LOCATION

Hier ist ein einfaches Shell-Skript, mit dem Sie die App auf jedem Gerät installieren können:

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

Hoffe das hilft! Ich habe eine Weile gebraucht, um herauszufinden, wie ich es am besten machen kann.

rfrittelli
quelle
Dieses Skript ist kürzer: xcrun simctl install bootet APP_FILE_PATH Aber wenn App auf Simulator installiert wird, kann die App nicht ausgeführt werden
Hông Hà
4

Für Xcode 10 ist hier ein einfacher Weg, der für mich bei einem Debug-IPA (Entwicklungsprofile) funktioniert hat.

  1. Entpacken Sie den IPA, um den Payload-Ordner abzurufen.
  2. Im Payload-Ordner befindet sich die ausführbare App.
  3. Ziehen Sie die App per Drag & Drop auf einen geöffneten Simulator. (Möglicherweise wird eine grüne Schaltfläche zum Hinzufügen angezeigt, wenn Sie sie über den Simulator ziehen.)

Es sollte diese App auf diesem Simulator installieren.

Swasidhant
quelle
Funktioniert für mich, ich habe den Namen von "my-app.ipa" in "my-app.ipa.zip" geändert und danach mit der macos Finder-App entpackt. Wenn Sie die App über das Terminal installieren möchten:xcrun simctl install "simulator-name" /path/to/my-app.app
Alex Buicescu
0

Schritt zum Ausführen in einem anderen Simulator ohne Code-Repo: -

Erstellen Sie zuerst eine .app, indem Sie Ihr Projekt erstellen (unter dem Projektordner in Xcode) und fügen Sie es an einer geeigneten Stelle ein (siehe Bild für mehr Klarheit).

Geben Sie hier die Bildbeschreibung ein

  1. Laden Sie Xcode herunter
  2. Erstellen Sie ein Demo-Projekt und starten Sie den Simulator, in dem Sie die App ausführen möchten.
  3. Kopieren Sie die .app-Datei an einen bestimmten Speicherort (z. B. - Desktop).
  4. cd Desktop und Führen Sie den Befehl aus (xcrun simctl install booted appName.app),
  5. Die App wird im jeweiligen Boot-Simulator installiert.
Anurag Bhakuni
quelle