Jak mogę zainstalować plik .ipa w moim symulatorze iPhone'a

165

Mam symulator iPhone'a działający na moim Macu.

Mam plik .ipa, czy możesz mi powiedzieć, jak mogę go zainstalować na symulatorze?

yinglcs
źródło

Odpowiedzi:

137

Nie możesz. Jeśli został pobrany za pośrednictwem sklepu iTunes, został zbudowany dla innego procesora i nie będzie działać w symulatorze.

sierpień
źródło
12
Dodam, że jedynym sposobem na uruchomienie aplikacji na iPhone'a w symulatorze jest samodzielne skompilowanie jej z XCode, przy czym aktywnym celem jest Symulator.
Alex Wayne
1
możesz uruchomić plik aplikacji projektu w symulatorze.
humblePilgrim
3
wygląda na to, że komuś poniżej udało się to zrobić. hackish, ale jeśli to działa, warto o tym wiedzieć.
Randy L
13
Każdy, kto twierdzi, że uruchamia aplikacje na iPhone'a w symulatorze, ma urojenia. Symulator iPhone'a nie jest emulatorem - nie może uruchomić kodu ARM.
duskwuff
16
Wyświetli ikonę w symulatorze przy użyciu poniższej techniki, jednak nasza aplikacja ulega awarii natychmiast po uruchomieniu.
Matt Hudson,
104

Znalazłem plik .ipa, który chciałem, używając iTunes i skopiowałem go na mój pulpit.

Następnie zmieniłem rozszerzenie na .zipi rozpakowałem je.

Następnie znalazłem folder Payload i przeniosłem aplikację na mój pulpit.

Wreszcie przeniosłem tę aplikację do folderu aplikacji symulatorów iPhone'a znajdującego się pod adresem:

  • HD
  • > Aplikacje
  • > Xcode.app (kliknij prawym przyciskiem myszy - Pokaż zawartość pakietu)
  • > Spis treści
  • > Deweloper
  • > Platformy
  • > iPhoneSimulator.platform
  • > SDK
  • > iPhoneSimulator6.0.sdk
  • > Aplikacje

Mam nadzieję że to pomoże! (Uwaga: niektóre aplikacje ulegają awarii częściej niż inne).

Keeton Feavel
źródło
28
@DataGreed: Przeniesiono do HD> Aplikacje> Xcode.app (kliknij prawym przyciskiem myszy - Pokaż zawartość pakietu)> Zawartość> Programista> Platformy> iPhoneSimulator.platform> SDK> iPhoneSimulator6.0.sdk> Aplikacje
Richard Poole
7
Ścieżka do XCode 4.3 lub nowszego na OSX znajduje się w następującej lokalizacji (zwróć uwagę, że część 5.1 może być inna na twoim komputerze) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5. 1.sdk / Applications
Brad Parks,
14
aplikacja wyświetla się w symulatorze .. ale ulega awarii w iOS6 i iOS7
Sri
1
@DataGreed: Podałeś poprawną lokalizację. Odpowiedź wspomniana przez Keetona pomogła mi w instalacji aplikacji LinkedIn, ale zawiesza się. Jakaś poprawka?
Jayprakash Dubey
3
Potwierdzam, że ta metoda instalacji działa nawet w marcu 2016 r. (Chociaż rozbił się, ale został zainstalowany)
jeet.chanchawat
66

W Xcode 6+ i iOS8 + możesz wykonać poniższe proste czynności

  1. Wklej plik .app na komputer.
  2. Otwórz terminal i wklej poniższe polecenia:

    cd desktop

    xcrun simctl install booted xyz.app

  3. Otwórz symulator iPhone'a, kliknij aplikację i użyj

W przypadku wersji poniżej iOS 8 wykonaj następujące proste kroki.

Uwaga: będziesz chciał się upewnić, że Twoja aplikacja jest zbudowana dla wszystkich architektur, symulator znajduje się x386w ustawieniach kompilacji i jest Build Active Architecture Onlyustawiony na No.

  1. Ścieżka: Library-> Application Support-> iPhone Simulator-> 7.1 (lub inna wersja, jeśli jej potrzebujesz) -> Applications
  2. Utwórz nowy folder z nazwą aplikacji
  3. Wejdź do folderu i umieść tutaj plik .app.
sinh99
źródło
23
To polecenie zadziałało, ale aplikacja ulega awarii, ponieważ nie została skompilowana dla symulatora. :(
JamesDeHart
5
Otrzymywanie komunikatu „Żadne urządzenia nie są uruchamiane”.
Vijay Sharma
7
Jest to przydatne dla każdego, kto zbudował aplikację na symulatorze i chce ją uruchomić na innym symulatorze. Zwróć uwagę, że pierwotne pytanie dotyczyło pliku .ipa, chociaż nie .app
ChrisH
5
Jeśli masz plik .ipa, po prostu zmień nazwę na .zip i wyodrębnij go, aby uzyskać .app
delrox.
3
@Vijay Musiałem ręcznie uruchomić symulator iPhone'a przed krokiem 2, ale poza tym działa dobrze.
Glorfindel
35

Dla Xcode 9.4.1 i najnowszych symulatorów:

Mam nadzieję, że moja odpowiedź jest tu widziana, ponieważ zajęło mi to trochę czasu, ale właśnie to działało.

Przede wszystkim musisz zbudować i uruchomić aplikację na swoim symulatorze. Następnie otwórz Monitor aktywności . Kliknij dwukrotnie nazwę swojej aplikacji, aby znaleźć jej zawartość.

wprowadź opis obrazu tutaj

Na następnym ekranie otwórz kartę Otwórz pliki i porty i znajdź wiersz z MyAppName.app/MyAppName.

wprowadź opis obrazu tutaj

Skopiuj link, ale pamiętaj, aby zatrzymać się na MyAppName.app . Nie kopiuj ścieżki po niej.

Control kliknij ikonę wyszukiwarki i wybierz Idź do folderu .

wprowadź opis obrazu tutaj]

Wklej ścieżkę i kliknij Enter. Zobaczysz plik MyAppName.app. Skopiuj go na pulpit i spakuj. Przenieś go do wybranego drugiego komputera i rozpakuj plik. Zbuduj losowy projekt, aby otworzyć symulator.

Wreszcie: dosłownie przeciągnij i upuść aplikację z pulpitu do swojego symulatora. Zobaczysz instalację, a aplikacja zostanie otwarta i nie ulegnie awarii.

wprowadź opis obrazu tutaj

David Seek
źródło
7
Głosuj w dół bez komentarza, aby uzyskać odpowiedź, która działa: D awesome
David Seek
Działa przy przenoszeniu kompilacji deweloperskich do innych symulatorów!
Alex Pelletier
1
@AlexPelletier, czy nie o to tutaj chodzi? xD
David Seek
33

Nie można uruchomić pliku ipa w symulatorze, ponieważ plik ipa jest kompilowany dla architektury ARM telefonu, a nie architektury x86 symulatora.

Możesz jednak wyodrębnić aplikację zainstalowaną w lokalnym symulatorze, wysłać ją do kogoś innego i poprosić o skopiowanie jej do symulatora na swoim komputerze.

W terminalu wpisz:

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

Spowoduje to otwarcie wszystkich folderów aplikacji wszystkich zainstalowanych symulatorów. Każda z aplikacji będzie znajdować się w folderze o losowej nazwie szesnastkowej. Możesz sprawdzić, która aplikacja jest twoją, zaglądając do każdego z nich. Gdy już znajdziesz, który chcesz, kliknij go prawym przyciskiem myszy i wybierz „Kompresuj ...”, a utworzy plik zip, który możesz łatwo skopiować na inny komputer i rozpakować do podobnej lokalizacji.

rjmunro
źródło
2
W systemie iOS 8 został przeniesiony do aplikacji na urządzenie: ~ / Library / Developer / CoreSimulator / Devices / 594C6B4D-AB19-479B-A047-240361C51D95 / data / Applications / Soopen ~/Library/Developer/CoreSimulator/Devices/*/data/Applications
CC.
Możesz też wyodrębnić go z jednego symulatora, uruchomić inny (zmienić wersję systemu operacyjnego), a następnie zainstalować go tam.
Alex Zavatone
4
Od iOS 10 musisz skopiować oba szesnastkowe nazwane foldery aplikacji z następujących lokalizacji: ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Data/Application/ ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Bundle/Application/W przeciwnym razie aplikacja nie pojawi się w symulatorze.
Macucula,
31

AKTUALIZACJA: W przypadku Xcode 8.0+ należy wykonać poniższe kroki:

  1. Pobierz aplikację z iTunes
  2. Wybierz pobraną aplikację, kliknij prawym przyciskiem myszy pokaż w wyszukiwarce
  3. Skopiuj .ipaplik na pulpit, zmień jego nazwę na .zipplik
  4. Wypakuj ten .zipplik, a otrzymasz katalog z nazwą aplikacji
  5. Sprawdź katalog, w którym znajdziesz appplik w folderze Payload , skopiuj ten appplik

  6. Iść do ~/Library/Developer/CoreSimulator/Devices

FYI: Libraryfolder jest domyślnie ukryty w systemie Mac, możesz zobaczyć ukryty plik za pomocą poniższego polecenia.

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

Teraz tutaj zobaczysz wiele katalogów z długimi nazwami szesnastkowymi, wszystkie to symulatory.

Aby znaleźć żądany symulator, posortuj te katalogi za pomocą opcji „Ułożone według> Data modyfikacji”.

Wybierz ten plik symulatora i przejdź do poniższej lokalizacji.

  1. <HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/
  2. Utwórz nową nazwę folderu za pomocą <download-app-name>i wklej appplik do tego folderu
  3. Otwórz Terminal i uruchom poniższe polecenie, aby zainstalować tę aplikację

    xcrun simctl install booted <APP_FILE_PATH>

Przykład <APP_FILE_PATH>będzie wyglądał jak poniżej:

~/Library/Developer/CoreSimulator/Devices/<HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/<APP_NAME>
Kampai
źródło
2
Możesz użyć, xcrun simctl listaby znaleźć symulator i kody
Paulo Amaral
3
Wydaje się, że to działa, ale ścieżka przykładowej aplikacji wymaga znaku / po znaku ~ na początku, a ścieżka musi prowadzić do pliku .app, a nie tylko do katalogu, który go zawiera.
emery
1
Jeśli chcesz znaleźć aktualnie uruchomiony symulator, możesz użyćxcrun simctl list | grep Booted
cjbarth
1
jak to może działać niezawodnie w przypadku każdej pobranej aplikacji? ponieważ wymagane są tylko pliki binarne arm, co jeszcze robiłby xcode, aby działał? chyba że chodziło Ci o aplikacje, w których i tak masz wszystkie oryginalne zasoby do ponownego kierowania?
whitneyland
19

Po pierwsze, IPA zwykle mają tylko wycinki ARM, ponieważ App Store nie akceptuje obecnie plasterków symulatora podczas przesyłania.

Po drugie, od Xcode 8.3 możesz przeciągnąć i upuścić .apppakiet do okna Symulatora, a zostanie on zainstalowany. Możesz znaleźć aplikację w katalogu produktów do kompilacji, ~/Library/Developer/Xcode/DerivedData/projectname-xyzzyabcdefg/Build/Products/Debug-iphonesimulatorjeśli chcesz ją zapisać lub rozpowszechnić wśród innych osób.

Aby zainstalować z wiersza poleceń, użyj xcrun simctl install <device> <path>.

deviceMoże to być identyfikator UUID urządzenia, jego nazwa lub nazwa bootedaktualnie uruchomionego urządzenia.

russbishop
źródło
2
Tak, możesz przeciągnąć i upuścić .appplik, ale to nie kopiuje wszystkiego, czego potrzebuje Symulator, aby go uruchomić. Aplikacja, z którą pracuję, natychmiast się zawiesza. Xcode wer. 8.3.3
Matthew Poer
5
Z definicji zawiera wszystko, co potrzebne. Kiedy Xcode instaluje aplikację w symulatorze, przekazujemy ścieżkę do .apppliku i to jest instalowane. Twoja aplikacja ulega awarii z innego powodu.
ruski biskup 13.07.17
6

Możesz uruchomić plik aplikacji projektu w symulatorze - nie plik .ipa.

Możesz go otrzymać od:

Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->wtedy możesz zobaczyć wiele plików, takich jak 0CD04F....znajdź plik aplikacji, otwierając go.

Możesz skopiować plik do lokalizacji swojego systemu (który symulator systemu potrzebujesz) Libraries-->Applicationsupport-->iphone simulator-->4.3(its your simulator version)-->applications-->

Następnie otwórz symulator 4.3 (jest to twoja wersja symulatora, w której wkleiłeś). Możesz zobaczyć zainstalowaną tam aplikację.


Otrzymywanie od innych osób:

Powiedz im, aby się dowiedzieli, Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->że możesz zobaczyć wiele plików, na przykład 0CD04F....z ich systemu, i otrzymać od nich ten plik.

Po otrzymaniu pliku skopiuj i wklej plik do swojego systemu `Libraries -> Applicationsupport -> iphone simulator -> 4.3 (to twoja wersja symulatora) -> applications -> (wklej plik tutaj ).

Następnie możesz zobaczyć, że aplikacja jest zainstalowana w symulatorze systemu i możesz ją uruchomić po kliknięciu pliku.

pokornyPilgrim
źródło
5

Kopiuj stąd:
- Uruchom aplikację w Xcode. - Wybierz Finder, przejdź do Idź i kliknij Wybierz Biblioteka / Obsługa aplikacji / Symulator iPhone'a / 7.0.3-64 / Aplikacje - Wybierz folder 32-bitowy Skopiuj swoją aplikację.

Wklej tutaj:
- /Applications/Xcode-Beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhone Simulator. SDK / Applications
- wklej tutaj i uruchom symulator.

Satheesh Guduri
źródło
4

Z Xcode 6:

Bardzo możliwe jest zbudowanie i zainstalowanie symulatora.

Zrobiłem to, kopiując konfigurację kompilacji debugowania (nazwałem ją SimRelease dla mojego przykładu poniżej) w ustawieniach projektu. Zmieniłem architektury na i386 i x86_64 (nie jestem pewien, jak to było konieczne), ale kluczową różnicą w zmianie między skopiowaną konfiguracją kompilacji jest kompilacja dla aktywnej architektury ustawiona na NIE. Następnie kilka prostych narzędzi wiersza poleceń zrobi resztę!

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

W zależności od tego, gdzie masz zestaw DerivedData, musisz znaleźć wyprowadzony folder .app. Po znalezieniu możesz go po prostu zainstalować na dowolnym urządzeniu symulującym. Aby znaleźć identyfikator UUID urządzenia, otwórz Xcode i przejdź do Okno-> Urządzenia, zobaczysz listę instancji urządzeń i możesz pobrać UUID. W przypadku trywialnego skryptu możesz pobrać je wszystkie z: ~ / Library / Developer / CoreSimulator / Devices / i zainstalować na każdym urządzeniu.

Stamtąd proste polecenie do zainstalowania na urządzeniu to:

xcrun simctl zainstaluj DEVICE_ID APP_FOLDER_LOCATION

Oto prosty skrypt powłoki, aby pobrać aplikację i zainstalować ją na każdym urządzeniu:

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

Mam nadzieję że to pomoże! Zajęło mi trochę czasu, zanim wymyśliłem najlepszy sposób, aby to zrobić.

rfrittelli
źródło
ten skrypt jest krótszy: xcrun simctl instaluje uruchomioną APP_FILE_PATH Ale po zainstalowaniu aplikacji na symulatorze aplikacja nie może działać
Đông Hà
4

W przypadku Xcode 10 oto prosty sposób, który zadziałał dla mnie w przypadku debugowania IPA (profile programistyczne)

  1. Rozpakuj plik IPA, aby uzyskać folder ładunku.
  2. W folderze ładunku znajduje się plik wykonywalny aplikacji.
  3. Przeciągnij i upuść aplikację do otwartego symulatora. (Możesz zobaczyć zielony przycisk dodawania po przeciągnięciu go nad symulatorem)

Powinien zainstalować tę aplikację na tym symulatorze.

Swasidhant
źródło
U mnie działa, zmieniłem nazwę „my-app.ipa” na „my-app.ipa.zip”, a następnie rozpakowałem ją za pomocą aplikacji Finder na macOS. Jeśli chcesz zainstalować aplikację za pomocą terminala:xcrun simctl install "simulator-name" /path/to/my-app.app
Alex Buicescu
0

Krok do uruchomienia w innym symulatorze bez repozytorium kodu: -

Najpierw utwórz aplikację .app, budując swój projekt (w folderze projektu w Xcode) i wklej go w odpowiedniej lokalizacji (zobacz zdjęcie, aby uzyskać większą przejrzystość)

wprowadź opis obrazu tutaj

  1. Pobierz Xcode
  2. Utwórz projekt demonstracyjny i uruchom symulator, w którym chcesz uruchomić aplikację.
  3. Skopiuj plik .app do określonej lokalizacji (np .: - Pulpit).
  4. cd Desktop i uruchom polecenie (xcrun simctl install booted appName.app),
  5. Aplikacja zostanie zainstalowana w uruchomionym symulatorze.
Anurag Bhakuni
źródło