Як я можу встановити .ipa файл на свій симулятор iPhone


165

У мене на Mac працює симулятор iphone.

У мене є файл .ipa, чи можете ви мені сказати, як я можу встановити його на тренажері?

Відповіді:


137

Ви не можете. Якщо він був завантажений через магазин iTunes, він був побудований для іншого процесора і не працюватиме в тренажері.


12
Я додам, що єдиний спосіб запустити додаток для iPhone в тренажері - це скласти його з XCode самостійно, при цьому симулятор є активною ціллю.
Алекс Вейн

1
Ви можете запустити файл програми в тренажері.
humblePilgrim

3
схоже, що хтось нижче мав певний успіх у цьому. хакіш, але якщо це працює, це корисно знати.
Ренді Л

13
Кожен, хто претендує на запуск iPhone-додатків на Симуляторі, впадає в оману. Симулятор iPhone не є емулятором - він не може запускати код ARM.
сутінки -наактив-

16
Він покаже піктограму в тренажері за допомогою наведеної нижче техніки, однак наш додаток виходить з ладу відразу після запуску.
Метт Хадсон

104

Я знайшов файл .ipa, який хотів за допомогою iTunes, і скопіював його на робочий стіл.

Після цього я змінив розширення на .zipта витяг його.

Далі я знайшов папку Payload і перемістив програму всередину на робочий стіл.

Нарешті я перемістив цю програму в папку додатків для симуляторів iPhone, яку можна знайти в

  • HD
  • > Програми
  • > Xcode.app (клацніть правою кнопкою миші - Показати зміст пакета)
  • > Зміст
  • > Розробник
  • > Платформи
  • > iPhoneSimulator.платформа
  • > SDK
  • > iPhoneSimulator6.0.sdk
  • > Програми

Сподіваюся, це допомагає! (Примітка. Деякі програми виходять з ладу частіше, ніж інші.)


28
@DataGreed: Він переміщений до HD> Програми> Xcode.app (клацніть правою кнопкою миші - Показати зміст пакета)> Зміст> Розробник> Платформи> iPhoneSimulator.platform> SDKs> iPhoneSimulator6.0.sdk> Програми
Richard Poole

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 року. (Хоча
вийшов з ладу

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 Simulator-> 7.1 (або інша версія, якщо вона потрібна) -> Програми
  2. Створіть нову папку з назвою програми
  3. Зайдіть всередину папки і помістіть сюди файл .app.

23
Ця команда спрацювала, але додаток виходить з ладу, оскільки вона не була побудована для тренажера. :(
JamesDeHart

5
Отримання "Не завантажуються пристрої."
Віджай Шарма

7
Це корисно для всіх, хто створив додаток на тренажері та хоче запустити його на іншому симуляторі. Зауважте, що оригінальне запитання стосувалося файлу
.ipa,

5
Якщо у вас є .ipa, просто перейменуйте його на .zip та
дістаньте

3
@Vijay Мені довелося вручну запустити iPhone Simulator перед кроком 2, але в іншому випадку це працює добре.
Глорфіндель

35

Для Xcode 9.4.1 та найновіших тренажерів:

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

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

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

На наступному екрані відкрийте вкладку Відкрити файли та порти та знайдіть рядок з MyAppName.app/MyAppName.

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

Скопіюйте посилання, але обов'язково зупиніться на MyAppName.app . Не копіюйте шлях, що слідує за ним.

Клацніть на іконку пошуку та виберіть Перейти до папки .

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

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

Нарешті: буквально перетягуйте додаток із робочого столу в ваш симулятор. Ви побачите встановлення, і додаток відкриється і не виходить з ладу.

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


7
downvote без коментаря для відповіді, яка працює: D awesome
David Seek

Працює для передачі побудов розробників на інші тренажери!
Алекс

1
@AlexPelletier чи не в цьому суть того, про що ми тут говоримо? xD
David Seek

33

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

Однак ви можете витягнути додаток, встановлене в локальному тренажері, надіслати його комусь іншому та дозволити їм скопіювати його в тренажер на своїй машині.

У терміналі введіть:

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

Це відкриє всі папки програм усіх встановлених вами тренажерів. Кожна з програм буде знаходитись у папці із випадковим шістнадцятковим іменем. Ви можете визначити, яка ваша програма, заглянувши всередину кожного з них. Виявивши потрібний, клацніть правою кнопкою миші та оберіть "Стиснути ...", і він створить поштовий файл, який ви зможете легко скопіювати на інший комп'ютер і розпакуйте на подібне місце.


2
На iOS 8 було переміщено до додатків для пристроїв: ~ / Бібліотека / Розробник / CoreSimulator / Пристрої / 594C6B4D-AB19-479B-A047-240361C51D95 / Дані / Програми / Такopen ~/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/інакше додаток не з’явиться в тренажері.
Макукула

31

ОНОВЛЕННЯ: Для Xcode 8.0+ вам потрібно виконати нижче кроки:

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

  6. Йти до ~/Library/Developer/CoreSimulator/Devices

FYI: 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>

2
Ви можете використовувати xcrun simctl listдля пошуку тренажера та кодів
Paulo Amaral

3
Це, здається, працює, але ваш прикладний шлях до програми потребує / після ~ на початку, і шлях повинен пройти весь шлях до файлу .app, а не лише до каталогу, який його містить.
наждак

1
Якщо ви хочете знайти тренажер, який зараз працює, ви можете використовуватиxcrun simctl list | grep Booted
cjbarth

1
як це може надійно працювати для будь-якого завантаженого додатка? оскільки потрібні лише бінарні арматури, що б ще робив xcode, щоб він працював? хіба що ви мали на увазі лише додатки, у яких у вас все-таки є всі оригінальні активи, які потрібно перезавантажити?
Уїтніленд

19

Перш за все, IPA зазвичай мають лише фрагменти ARM, оскільки App Store наразі не приймає фрагменти Simulator у завантаженнях.

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

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

deviceможе бути пристроєм UUID, його ім'ям або bootedщо означає пристрій, що завантажується зараз.


2
Так, ви можете перетягнути .appфайл, але це не копіює все, що Симулятору потрібно для його запуску. Додаток, з яким я працюю, просто виходить з ладу. Xcode v. 8.3.3
Matthew Poer

5
Він, за визначенням, включає все необхідне. Коли Xcode встановлює додаток у Simulator, ми передаємо шлях до .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 simulator -> 4.3 (версія вашого симулятора) -> програми -> (вставте файл тут ).

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


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 / програми
- вставте сюди і запустіть тренажер.


4

З Xcode 6:

Зробити і встановити на тренажері дуже можливо.

Я зробив це, скопіювавши конфігурацію збірки налагодження (я назвав її SimRelease для мого прикладу нижче) в налаштуваннях проекту. Я змінив архітектури на i386 та x86_64 (не впевнений, наскільки це було потрібно), але ключовою відмінністю для зміни між скопійованою конфігурацією збірки є побудова для активної архітектури, встановленої на НІ. Після цього пара простих інструментів командного рядка зробить все інше!

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

Залежно від того, де у вас є набір DerivedData, вам потрібно знайти потрібну папку .app. Після того, як ви знайдете його, ви можете просто встановити його на будь-який тренажер. Щоб знайти відкритий Xcode пристрою UUID і перейдіть у вікно-> пристрої, ви побачите список примірників пристрою, і ви можете захопити 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

Сподіваюся, це допомагає! Зайняв у мене час, щоб зрозуміти найкращий спосіб зробити це.


цей скрипт коротший: xcrun simctl встановити завантажений APP_FILE_PATH Але при встановленні програми на тренажері додаток не може запускатися
Đông Hà

4

Для Xcode 10 ось простий спосіб, який працював у мене для налагодження IPA (профілі розробки)

  1. Розпакуйте IPA, щоб отримати папку Payload.
  2. У папці Payload знаходиться програма, що виконується.
  3. Перетягніть додаток до відкритого симулятора. (Можливо, ви побачите зелену кнопку додавання, коли перетягнете її на тренажер)

Він повинен встановити цей додаток на цьому симуляторі.


Для мене працює, я змінив назву "my-app.ipa" на "my-app.ipa.zip", після чого розпакував її за допомогою програми macos Finder. Якщо ви хочете встановити додаток за допомогою терміналу:xcrun simctl install "simulator-name" /path/to/my-app.app
Alex Buicescu

0

Крок для запуску в різних симуляторах без будь-якого репо коду: -

Спочатку створіть .app, побудувавши проект (у папці проекту в Xcode) та вставте його у відповідне місце (для отримання більш чіткості див. Рис.)

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

  1. Завантажити Xcode
  2. Створіть демонстраційний проект та запустіть тренажер, у якому потрібно запустити додаток.
  3. Скопіюйте файл .app у конкретне місце (наприклад: - Desktop).
  4. cd Desktop та запустіть команду (xcrun simctl встановити завантажений appName.app),
  5. Додаток буде встановлено у конкретному завантаженому симуляторі.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.