2014-09-10 3 views
27

Недавно обновлено до Xcode 6, и теперь, когда я архивирую проект, я получаю .pkg вместо .ipa. Я установил другую цель в своем проекте (cocoapods), чтобы пропустить установку, но это не помогло. Цель развертывания - iOS, а не mac (это приложение iphone/ipad, которое ранее было заархивировано .ipas fine).Архив в xcode 6 создает pkg, а не ipa

У меня отсутствует новая настройка где-нибудь (например, архивные приложения iOS по умолчанию для .ipa) или есть ли получение с специальным распределением на Xcode 6, о котором я не знаю?

+0

Это Xcode 6 ГМ семян, кстати. – maxhs

+2

Если кто-то еще читает это, потому что они ищут способ распространять специальные сборки через TestFlight (но не могут, потому что TestFlight не может обрабатывать .pkg), я бы рекомендовал установить приложение Desktop TestFlight. Он потянет ваши недавние архивы XCode и фактически построит .ipa. – maxhs

ответ

54

Добавить LSRequiresIPhoneOSYES к вашему Info.plist
Ключ может быть найден как Application requires iPhone environment

+0

Да, это сделало это для меня. – daxiang28

+1

Yup, просто прочитайте то же самое на https://devforums.apple.com/message/1011314#1011314 – dkeen

+1

Yup, просто прочитайте его там (я был одним из постеров). Приятно найти решение ... ненавижу, что это была проблема в первую очередь. – maxhs

4

Я не мог найти прямой способ сделать это в Xcode 6 GM (или беты), но нашел пару решений, которые работали:

  1. Архив в Xcode 6 и экспорт в Xcode 5 Это работало для меня, когда я использовал бета-версии, но после установки GM двоичный файл Xcode.app заменил мою версию Xcode 5 (ее можно было легко переустановить). @Anan ответил, что here.

  2. Возьмите файл .app из своего .xarchive и упакуйте свой собственный .ipa, создав каталог Payload, скопировав в него файл .app, закрепив его и переименовав расширение в .ipa.

  3. Я попытался использовать настольное приложение TestFlight и перетащил в него архив после создания учетной записи. Похоже, что это было сделано в процессе упаковки .ipa и загрузки его на серверы TestFlight. Мне не удалось найти следы .ipa на моей локальной машине. Возможно, это работает, просто не знаю, где взять .ipa. Вам придется генерировать .plist самостоятельно или использовать старый.

Несмотря на это, это похоже на ошибку, и эти обходные пути раздражает нужно сделать что-то, что используется, чтобы занять 5 секунд.

Стив

+1

Yup, используется 5 секунд ... теперь требуется 5 минут (после отладки 5 часов). @steve Re: TestFlight, после того, как он загружает .ipa на свои серверы, вы можете сохранить локально. Тем не менее, по-видимому, он не сохраняет ничего локально по умолчанию. – maxhs

+0

Это раздражает, что я должен сам создать .plist. – namanhams

Смежные вопросы