Xcode 4: створити файл IPA замість .xcarchive


182

У Xcode 3.2.5 я використовую "Build and Archive" для створення файлу IPA. У Xcode 4 ви можете використовувати "Product -> Archive" для архівації програми в пакеті .xcarchive.

Як я можу створити .ipa-файл із Xcode 4?


Спробуйте цю відповідь з іншого подібного питання: /programming/5271496/xcode4-ios-4-3-no-packager-exists-for-the-type-of-archive/5322743#5322743
pkananen


3
Щоразу, коли я створюю нову версію adhoc, мене тут веде пошук у Google. Я бачив цю сторінку багато разів за останні кілька місяців. Хороше запитання, вдале рішення
coneybeare


Ось плагін Xcode для експорту IPA github.com/rajeshbeats/Xcode-Plugin-Export-IPA
Raj

Відповіді:


391

Створення IPA здійснюється аналогічно створенню .xcarchive: Product -> Archive. Після завершення операції «Архів» перейдіть до Організатора, виберіть свій архів, виберіть Спільний доступ і в розділі «Вибір вмісту та параметрів для спільного доступу:» встановіть «Зміст» на «Пакет iOS App Store» (. має відповідати профілю вашого спеціального / магазину додатків для проекту).

Можливо, опцію "Пакет iOS App Store (.ipa)" можливо відключити. Це відбувається, коли ваша збірка створює більше однієї цілі: скажімо, додаток і бібліотеку. Всі вони в кінцевому підсумку в будівельній продукції папки і Xcode отримує наївний сплутати про те , як упакувати їх як в файл .ipa, тому він просто відключає опцію.

Спосіб вирішити це полягає в наступному: пройдіть налаштування збірки для кожної з цілей, за винятком цілі програми, і встановіть прапор Пропустити встановити на ТАК. Потім ще раз зробіть продукт -> Архів танго та перейдіть до Організатора, щоб вибрати новий архів. Тепер, натиснувши кнопку "Поділитися", слід включити параметр .ipa.

Я сподіваюся, що це допомагає.


2
Це вирішило мою проблему, дякую! У моєму випадку проблема була насправді одним із дитячих проектів (ProtocolBuffers для мене), який мав кілька цілей, для встановлення яких потрібно було пропустити.
JosephH

Можливо, вам знадобиться Продукт -> Очистити та відкрити / закрити робочу область, перш ніж з'явиться параметр Продукт -> Архів.
Марк Чакерян

У мене виникли проблеми з кількома цілями. Встановлення загальної віконця для пропуску Встановити ТАК, а додаток для пропуску Встановити НЕ виправлено. Це не було проблемою для мене в Xcode 3.2, тільки 4.1.
logancautrell

44
"Поділитися" тепер "Розподілити ..." Потім виберіть "Зберегти для підприємства спеціальної розгортання"
Рембрандт Q. Ейнштейн

"Пропустити встановлення" недостатньо - у мене ця помилка з Xcode 4.5, і вона відмовляється ніколи правильно поширюватись, з тих пір, як я додала бібліотеку з пакетом.
Адам

44

Просто налаштування Пропустити встановлення на ТАК не працювало для мене. Сподіваємось, це комусь допоможе.

Я пішов у залежність від своїх цілей проекту: Coreplot-CocoaTouch. Потім перейшли до Coreplot-CocoaTouch Targets. У своїх цілях відкрилися фази побудови. Потім відкрили заголовки копіювання. Там я мав декілька заголовків у Public, деяких у Private та деяких у Project. ВСЕ з них переміщено до Project.

Звичайно, у Налаштуваннях збірки цілей Coreplot-CocoaTouch перевірили, що для параметрів Skip Install встановлено значення ТАК у параметрах розгортання.

І цього разу Архів зробив архів, який можна було підписати і .ipa виготовити.


1
Після переміщення заголовків до Project ідеально працює разом із вищезазначеними кроками. Дякую
iOSAppDev

Як прохолодний вітер! Кожен, хто запустить github.com/sprhawk/ytoolkit.git для OAuth у свій проект, вимагатиме цього. Дякую.
vmanjz

2
Чому о, чому Xcode досі повний помилок настільки серйозний, як це? На 18 місяців пізніше цього коментаря і помилка все-таки є! Дякую за допомогу.
Бен Клейтон

Ви не маєте поняття, як сильно я вас зараз люблю ... принаймні одна моя проблема вирішена! Дякую!
Дмитро

15

Для архівів Xcode 4.6 (та Xcode 5)

  • В Організаторі правою кнопкою миші клацніть архів, виберіть Показати в Finder
  • У Finder клацніть правою кнопкою миші архів, виберіть Показати зміст пакета
  • Відкрийте папку Продукти> Програми
  • Додаток є
  • Перетягніть програму в папку iTunes Apps

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

  • Клацніть правою кнопкою миші на програму в iTunes Apps, виберіть Показати в Finder

  • .ipaЄ!

Це те, що мені дійсно потрібно для мого xcode 4.6.3. Все вищезазначене для мене просто несе сенс, лише ця робота. Чудово!
Форрест

застереження, створить ipa, але може не встановити належним чином, він відображає піктограму на телефоні після синхронізації, але говорить, що встановлення під ним і ніколи не закінчується. так чи інакше це мій досвід після спроби цього, Xcode 5.1.1.
colin lamarre

4

В організаторі можна натиснути Надіслати та зберегти як iOS App Store Package (.ipa). Можливо, вам також доведеться вибрати "Архів" у меню "Продукт", щоб створити архів в Організаторі. Нарешті, я думаю, що для цього потрібно мати належним чином підписані архіви.


3
Неважко було зрозуміти, як створити Архів із проекту. Проблема полягає в тому, що під час спільного використання опції "Пакет" є сірим кольором. Можливо, ви маєте рацію, що архів має бути підписаний належним чином, щоб увімкнути цю опцію. Я використовую ключ для розповсюдження Ad-Hoc, а також маю права, визначені для Ad-Hoc для дистрибуції. Не могли б ви поділитися, як зробити можливим створення файлу IPA?
красник

4

У мене була ця сама проблема, використовуючи стару версію бібліотеки маршрутів. Я "пропустив" усі бібліотеки та бібліотеки всередині бібліотек (proj4), але у мене все-таки була така ж проблема. Виявляється, що route-me і proj4 встановлювали загальнодоступні файли заголовків, навіть коли бібліотеки були пропущені, що зіпсувало його так само! Тож я просто зайшов у вкладку маршрут-me and proj4 target "Build Phases", відкрив "Copy Headers", відкрив "Public" і перетягнув ці заголовки з "Public" у "Project". Тепер вони не встановлюються в $ (BUILD) / usr / local / include, і я можу зробити файл ipa з архіву!

Я сподіваюся, що Apple виправить цю жахливу проблему зручності використання XCode. Це абсолютно не вказує на те, що не так, просто не працює. Я ненавиджу затьмарені елементи керування, які нічого не говорять про те, чому вони приглушені. Як щодо того, щоб замість того, щоб ігнорувати клацання, контрольні пристрої, що вимкнено, могли б спливати повідомлення, яке говорить вам, чому, пекло, вони відключені, коли ви невдоволено натискаєте на них?


Так! Усі файли заголовків, позначені як загальнодоступні, справляють проблему. Встановлення їх як проекту вирішило проблему!
JakubKnejzlik

3

Якщо припустити, що ви зробили успішний продукт> Архів тоді, виберіть пункт Організатор (Shift Apple 2) Архів.

Виберіть свій архів. Виберіть Надіслати. У вікні "Вибір вмісту та параметрів для спільного використання:" встановіть "Зміст" на "Пакет iOS App Store (.ipa) та ідентичність для розповсюдження iPhone".

Клацніть Далі, введіть ім’я програми та натисніть Зберегти.

Повні деталі горі із скріншотами можна знайти тут: Xcode4UserGuide


2

Той, хто випробував всі інші відповіді і не пощастило, будь ласка, поставте цей прапорець, сподіваюся, що це допоможе (зробив трюк для мене xcode 6.0.1)

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


0

У мене була така ж проблема ... Довелося відтворити проект з нуля.

Примітка: мій проект був створений в XCode 3.1 і посилався на статичну бібліотеку, яка будувалася як підпроект (до загального пункту призначення). Я змінив це, щоб створити джерело замість цього, коли відтворив проект XCode в XCode 4.

Тепер, використовуючи Product / Archive / Share ..., ви можете отримати опцію "Пакет додатків iOS App (.ipa)" безпосередньо над "Application" (який зараз замурований) та "Archive" (який експортує .xcarchive).


0

Те саме питання. Я вирішив встановити прапор "пропустити встановити" ТАК ​​для кожного зовнішнього проекту, залишивши інші цілі основного проекту незмінними.

Мені також довелося перейти до "Редагувати схему ...", вибрати панель "Архівація" та встановити правильну настройку збірки для моєї спеціальної мети.

Тоді простий продукт -> Архів -> Поділитися зробив очікувану роботу.


0

Вам потрібно буде скласти та архівувати свій проект. Можливо, вам доведеться перевірити, які налаштування підпису коду у вас в проекті та які файли виконуються.

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

Перетягніть файл .ipa в iTunes, а потім синхронізуйте зі своїм iPhone.


0

Якщо це гра (можливо також додаток), і у вас є статичні бібліотеки, такі як cocos2d або інша стороння бібліотека ... тоді вам просто потрібно вибрати * ТОЛЬКО * статичну бібліотеку (НЕ ПРИЛОЖЕННЯ) та в налаштуваннях її складання під Розгортання, встановіть Пропустити Встановити прапор YESта заархівуйте його датом ... !!


0

Я пішов кинув ту саму проблему. Жодна з вищезгаданих відповідей не працювала для мене, але я закінчила пошук рішення самостійно. Файл ipa не створено, тому що в Target-> Phases Build -> Copy Bundle з ресурсами були файли бібліотеки (libXXX.a)

Сподіваюся, це комусь допоможе :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.