Как я могу установить файл .ipa на симулятор iPhone

165

У меня на Mac работает симулятор iphone.

У меня есть файл .ipa, подскажите, пожалуйста, как мне установить его на симуляторе?

yinglcs
источник

Ответы:

137

Ты не можешь Если он был загружен через магазин iTunes, он был создан для другого процессора и не будет работать в симуляторе.

августейший
источник
12
Я бы добавил, что единственный способ запустить приложение для iPhone в симуляторе - это скомпилировать его из XCode самостоятельно, а симулятор - активная цель.
Алекс Уэйн
1
Вы можете запустить файл приложения проекта в симуляторе.
скромныйПилигрим
3
Похоже, кто-то внизу добился определенного успеха в этом. хак, но если это работает, это полезно знать.
Рэнди Л
13
Любой, кто утверждает, что запускал приложения iPhone на Симуляторе, бредит. Симулятор iPhone не является эмулятором - он не может запускать код ARM.
duskwuff -inactive-
16
Он отобразит значок в симуляторе, используя приведенную ниже технику, однако, наше приложение вылетает сразу при запуске.
Мэтт Хадсон
104

Я нашел файл .ipa, который хотел использовать в iTunes, и скопировал его на свой рабочий стол.

После этого я изменил расширение .zipи извлек его.

Затем я нашел папку Payload и переместил приложение на свой рабочий стол.

Наконец, я переместил это приложение в папку приложений для имитаторов iPhone, которая находится по адресу:

  • HD
  • > Приложения
  • > Xcode.app (щелкните правой кнопкой мыши - Показать содержимое пакета)
  • > Содержание
  • > Разработчик
  • > Платформы
  • > iPhoneSimulator.platform
  • > SDK
  • > iPhoneSimulator6.0.sdk
  • > Приложения

Надеюсь это поможет! (Примечание. Некоторые приложения выходят из строя чаще других.)

Китон Фивел
источник
28
@DataGreed: он перенесен в HD> Приложения> Xcode.app (щелкните правой кнопкой мыши - Показать содержимое пакета)> Содержание> Разработчик> Платформы> iPhoneSimulator.platform> SDK> iPhoneSimulator6.0.sdk> Приложения
Ричард Пул
7
Путь для XCode 4.3 или новее в OSX находится по следующему адресу (обратите внимание, что часть 5.1 может отличаться на вашем компьютере) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5. 1.sdk / Приложения
Брэд Паркс
14
отображение приложения в симуляторе ... но его сбой в iOS6 и iOS7
Шри
1
@DataGreed: вы упомянули правильное местоположение. Ответ, упомянутый Китоном, помог мне в установке приложения LinkedIn, но оно дает сбой. Любое исправление?
Джайпракаш Дубей
3
Я подтверждаю, что этот метод установки будет работать даже в марте 2016 года. (Хотя и разбился, но установлен)
jeet.chanchawat
66

В Xcode 6+ и iOS8 + вы можете сделать простые шаги ниже

  1. Вставьте файл .app на рабочий стол.
  2. Откройте терминал и вставьте команды ниже:

    cd desktop

    xcrun simctl install booted xyz.app

  3. Откройте симулятор iPhone и нажмите на приложение и используйте

Для версий ниже iOS 8 выполните следующие простые шаги.

Примечание: вы хотите убедиться, что ваше приложение создано для всех архитектур, симулятор x386 в настройках сборки и Build Active Architecture Onlyустановлен на No.

  1. Путь: Библиотека-> Поддержка приложений-> Симулятор iPhone-> 7.1 (или другая версия, если вам это нужно) -> Приложения
  2. Создайте новую папку с именем приложения
  3. Зайдите в папку и поместите файл .app здесь.
sinh99
источник
23
Эта команда работала, но приложение вылетало, потому что оно не было собрано для симулятора. :(
JamesDeHart
5
Получение «Устройства не загружаются».
Виджей Шарма
7
Это полезно для тех, кто создал приложение на симуляторе и хочет запустить его на другом симуляторе. Обратите внимание, что первоначальный вопрос был о файле .ipa, но не о .app
ChrisH
5
Если у вас есть .ipa, просто переименуйте его в .zip и извлеките его, чтобы получить .app
delrox
3
@ Виджай: Перед вторым шагом мне пришлось вручную запустить iPhone Simulator, но в остальном это работает нормально.
Глорфиндель
36

Для Xcode 9.4.1 и последних симуляторов:

Надеюсь, мой ответ увидят здесь, так как мне потребовалось некоторое время, чтобы разобраться, но я просто получил его на работу.

Прежде всего, вам нужно создать и запустить приложение на вашем симуляторе. Затем вы открываете монитор активности . Дважды щелкните название вашего приложения, чтобы найти его содержимое.

введите описание изображения здесь

На следующем экране откройте вкладку « Открыть файлы и порты » и найдите строку с MyAppName.app/MyAppName.

введите описание изображения здесь

Скопируйте ссылку, но обязательно остановитесь на MyAppName.app . Не копируйте путь, следующий за ним.

Control щелкните значок поиска и выберите Перейти в папку .

введите описание изображения здесь]

Вставьте путь и нажмите Enter. Вы увидите ваш файл MyAppName.app. Скопируйте его на рабочий стол и заархивируйте. Переместите его на второй компьютер и распакуйте файл. Создайте случайный проект, чтобы открыть симулятор.

Наконец: буквально перетащите приложение с рабочего стола в симулятор. Вы увидите установку, и приложение открывается и не падает.

введите описание изображения здесь

Дэвид Сик
источник
7
downvote без комментариев для ответа, который работает: D удивительно
Дэвид Seek
Работает для переноса сборок dev на другие симуляторы!
Алекс Пеллетье
1
@AlexPelletier разве не в этом смысл того, о чем мы здесь говорим? xD
Дэвид
33

Вы не можете запустить файл ipa в симуляторе, потому что файл ipa компилируется для архитектуры ARM телефона, а не для архитектуры x86 симулятора.

Однако вы можете извлечь приложение, установленное в локальном симуляторе, отправить его кому-то другому и попросить скопировать его в симулятор на своем компьютере.

В терминале введите:

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

Это откроет все папки приложений всех установленных вами симуляторов. Каждое из приложений будет находиться в папке со случайным шестнадцатеричным именем. Вы можете определить, какое приложение вам подходит, заглянув внутрь каждого из них. Как только вы узнали, какой из них вы хотите, щелкните правой кнопкой мыши и выберите «Сжать ...», и он создаст ZIP-файл, который можно легко скопировать на другой компьютер и разархивировать в аналогичное место.

rjmunro
источник
2
На iOS 8 оно было перенесено в приложения для устройств: ~ / Library / Developer / CoreSimulator / Devices / 594C6B4D-AB19-479B-A047-240361C51D95 / data / Applications / Soopen ~/Library/Developer/CoreSimulator/Devices/*/data/Applications
CC.
Или вы можете извлечь его из одного симулятора, запустить другой (переключить версию ОС) и затем установить его там.
Алекс Заватоне
4
Начиная с iOS 10, вы должны копировать обе шестнадцатеричные папки с именами приложений из следующих мест: ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Data/Application/ ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Bundle/Application/В противном случае приложение не будет отображаться в симуляторе.
Macucula
31

ОБНОВЛЕНИЕ: Для Xcode 8.0+ вам необходимо выполнить следующие шаги:

  1. Скачать приложение из iTunes
  2. Выберите загруженное приложение, щелкните правой кнопкой мыши шоу в Finder.
  3. Скопируйте .ipaфайл на рабочий стол, переименуйте его в .zipфайл
  4. Распакуйте этот .zipфайл, и вы получите каталог с именем приложения
  5. Проверьте, что в каталоге вы найдете appфайл в папке Payload , скопируйте этот appфайл

  6. Перейти к ~/Library/Developer/CoreSimulator/Devices

К вашему сведению: Libraryпапка по умолчанию скрыта в Mac, вы можете увидеть скрытый файл, используя команду ниже.

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

Теперь здесь вы увидите много каталогов с длинными шестнадцатеричными именами, это симуляторы.

Чтобы найти нужный имитатор, отсортируйте эти каталоги с помощью «Упорядочить по> Дата изменения».

Выберите этот файл симулятора и перейдите к расположению ниже.

  1. <HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/
  2. Создайте новое имя папки <download-app-name>и вставьте appфайл в эту папку
  3. Откройте терминал и выполните команду ниже, чтобы установить это приложение

    xcrun simctl install booted <APP_FILE_PATH>

Пример <APP_FILE_PATH>будет выглядеть следующим образом:

~/Library/Developer/CoreSimulator/Devices/<HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/<APP_NAME>
Kampai
источник
2
Вы можете использовать, xcrun simctl listчтобы найти симулятор и коды
Paulo Amaral
3
Кажется, это работает, но ваш пример пути к приложению нуждается в / после ~ в начале, и путь должен идти вплоть до файла .app, а не только в каталоге, в котором он находится.
наждачная
1
Если вы хотите найти симулятор, который работает в данный момент, вы можете использоватьxcrun simctl list | grep Booted
cjbarth
1
Как это может работать надежно для любого загруженного приложения? так как требуются только двоичные файлы arm, что еще сделает xcode, чтобы заставить его работать? разве вы имели в виду только те приложения, в которых вы все равно должны были перенаправить все исходные ресурсы?
Whitneyland
19

Прежде всего, в IPA обычно есть только фрагменты ARM, потому что в настоящее время App Store не принимает фрагменты симулятора при загрузке.

Во-вторых, начиная с Xcode 8.3 вы можете перетащить .appпакет в окно симулятора, и он будет установлен. Вы можете найти приложение в своем каталоге продуктов сборки, ~/Library/Developer/Xcode/DerivedData/projectname-xyzzyabcdefg/Build/Products/Debug-iphonesimulatorесли хотите сохранить его или распространить среди других людей.

Для установки из командной строки используйте xcrun simctl install <device> <path>.

deviceможет быть UUID устройства, его именем или bootedозначать загруженное в данный момент устройство.

russbishop
источник
2
Да, вы можете перетаскивать .appфайл, но это не копирует все, что нужно Симулятору для его запуска. Приложение, с которым я работаю, сразу вылетает. Xcode v. 8.3.3
Мэтью Поер
5
Он по определению включает в себя все необходимое. Когда XCode устанавливает приложение в симуляторе, мы передаем путь к .appфайлу, и это то, что устанавливается. Ваше приложение падает по другой причине.
русский епископ
6

Вы можете запустить файл приложения проекта в симуляторе, а не файл .ipa.

Вы можете получить это от:

Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->тогда вы можете увидеть много файлов, как 0CD04F.... узнать файл вашего приложения через открыть его.

Вы можете скопировать файл в папку вашей системы (какой симулятор системы вам нужно запустить) Libraries-->Applicationsupport-->iphone simulator-->4.3(its your simulator version)-->applications-->

Затем откройте симулятор 4.3 (это версия вашего симулятора, куда вы вставили). Вы можете увидеть приложение, установленное там.


Получение от других людей:

Пожалуйста, скажите им, чтобы выяснить, Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->тогда вы можете увидеть много файлов, как 0CD04F....из их системы, и получить этот файл от них.

После того, как они получили файл, пожалуйста, скопируйте и вставьте файл в вашу систему. Библиотеки -> Applicationsupport -> Симулятор iphone -> 4.3 (это версия вашего симулятора) -> Приложения -> (вставьте файл здесь ).

Затем вы увидите, что приложение установлено в вашем симуляторе системы, и вы можете запустить его после нажатия на файл.

humblePilgrim
источник
5

Скопируйте отсюда:
- Запустите приложение в Xcode. - Выберите Finder, перейдите в Go и нажмите выберите Библиотека Библиотека / Поддержка приложений / iPhone Simulator / 7.0.3-64 / Приложения - Выберите 32-битную папку Скопируйте приложение.

Вставьте сюда:
- /Applications/Xcode-Beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhone Simulator. SDK / Applications
- Вставьте сюда и запустите симулятор.

Сатиш Гудури
источник
4

С Xcode 6:

Это очень возможно построить и установить на симуляторе.

Я сделал это, скопировав конфигурацию отладочной сборки (я назвал ее SimRelease для моего примера ниже) в настройках проекта. Я изменил архитектуру на i386 и x86_64 (не уверен, насколько это необходимо), но ключевое отличие для изменения между скопированной конфигурацией сборки - это сборка для активной архитектуры, для которой установлено значение NO. После этого пара простых инструментов командной строки сделает все остальное!

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

В зависимости от того, где у вас установлен набор DerivedData, вам нужно найти выходную папку .app. Как только вы нашли его, вы можете просто установить его на любое устройство симулятора. Чтобы найти открытый Xcode UUID устройства и перейти в Window-> Devices, вы увидите список экземпляров устройства и можете получить UUID. Для простого скрипта вы можете взять их все из: ~ / Library / Developer / CoreSimulator / Devices / и установить на каждое устройство.

Оттуда простая команда для установки на устройство:

xcrun simctl установить DEVICE_ID APP_FOLDER_LOCATION

Вот простой сценарий оболочки, чтобы взять приложение и установить его на каждое устройство:

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

Надеюсь это поможет! Мне понадобилось время, чтобы выяснить, как это сделать.

rfrittelli
источник
этот скрипт короче: xcrun simctl install booted APP_FILE_PATH Но при установке приложения на симуляторе приложение не запускается
Hông Hà
4

Для Xcode 10 вот простой способ, который работал для меня для отладочного IPA (профили разработки)

  1. Разархивируйте IPA, чтобы получить папку Payload.
  2. В папке Payload находится исполняемый файл приложения.
  3. Перетащите приложение в открытый симулятор. (Вы можете увидеть зеленую кнопку добавления, когда перетащите ее на симулятор)

Он должен установить это приложение на этом симуляторе.

Swasidhant
источник
Работает для меня, я изменил название «my-app.ipa» на «my-app.ipa.zip» и после этого разархивировал его с помощью приложения macos Finder. Если вы хотите установить приложение с помощью терминала:xcrun simctl install "simulator-name" /path/to/my-app.app
Алекс Буйеску
0

Шаг для запуска в другом симуляторе без какого-либо кода репо: -

Сначала создайте .app, создав свой проект (в папке проекта в XCode) и вставьте его в соответствующее место (см. Рис. Для большей ясности)

введите описание изображения здесь

  1. Скачать Xcode
  2. Создайте демонстрационный проект и запустите симулятор, в котором вы хотите запустить приложение.
  3. Скопируйте файл .app в определенном месте (например: - Рабочий стол).
  4. cd Desktop и запустите команду (xcrun simctl установите загруженное appName.app),
  5. Приложение будет установлено в конкретном загруженном симуляторе.
Анураг Бхакуни
источник