Xcode 7 НЕ создаст действительный архив из того же проекта, который строит действительный архив в Xcode 6

При использовании Xcode 7b5 для создания моего приложения, которое содержит расширение "Сегодня", я не могу создать действительный архив. Когда я делаю архив, сборка завершается успешно, а затем в Organizer появляется в разделе "Другие элементы" вместо "Приложения iOS".

Если я закрою проект и открою тот же проект в Xcode 6.3.2, когда создаю архив, он появится в разделе "Приложения iOS".

Я сравнивал архивы, и единственное, что я заметил, это то, что мой Today Widget размещается вне каталога Applications. Структура выглядит так для Xcode 6.3.2 и Xcode 7b5:

Xcode 6.3.2
| -Archive
| --Продукция
| --- Приложения
| ---- Игры и Консоли

Xcode 7 Beta 5
| -Archive
| --Продукция
| --- Приложения
| ---- MyMainApp.app
| --- MyTodayWidget.appex

Я думаю, что проблема в том, что MyTodayWidget упакован за пределами каталога приложений и вне .app. Я не уверен, почему Xcode 7 beta 5 будет упаковывать приложение по-другому, чем Xcode 6.3.2, когда я не внес никаких изменений.

ОБНОВЛЕНИЕ 8/14/2015: Это, по-видимому, проблема с CocoaPods и расширениями, такими как WatchKit или Today. Сообщается как Недействительный архив, созданный при использовании "Архив" в Xcode 7 beta 5 (с расширением watchkit) # 4021 другим разработчиком. Это, по-видимому, является основной причиной этой проблемы.

Окружающая среда:
- Xcode 7 Beta 5
- Сегодня Расширение
- Обычное приложение
- CocoaPods 0.38.2 (последняя выпущенная версия от 9/22)
- AFNetworking используется в расширении и приложении

Ответ 1

Я только что подтвердил сегодня, что для меня это проблема CocoaPods, в частности 4021. Я попробовал, как другие пользователи по этой проблеме, и удалил "копии ресурсов pod" из моего сегодняшнего целевого назначения. Как только это было удалено, я смог успешно упаковать архив в Xcode 7 Beta 5.

Надеюсь, это все еще работает в следующей бета-версии и GM...

ОБНОВЛЕНИЕ 9/22: Это ответ, если вы используете 0.38.2 для CocoaPods свою последнюю версию с версией от 22.09.2015. Я смог отправить свое приложение в магазин приложений с помощью Xcode 7 GM, используя этот метод.

Ответ 2

Это проблема с CocoaPods v0.39.0.b.4.

Как описано в CocoaPods GitHub, бета-версия 3 CocoaPods позволяет создавать архивы, как ожидалось. У Beta 4 есть ошибка, препятствующая этому работать.

Сначала удалите предыдущую версию CocoaPods

sudo gem uninstall cocoapods

а затем выполните:

sudo gem install cocoapods -v 0.39.0.beta.3 --verbose

затем

pod update

и вы сможете снова создавать архивы, как ожидалось.

Ответ 3

Наконец, он исправлен в последней стабильной версии 0.39.0:

Итак, вместо удаления

sudo gem uninstall cocoapods

и переустановка через

sudo gem install cocoapods

Также простой

sudo gem update cocoapods

должен исправить это!

Ответ 4

У меня была такая же проблема при обновлении Xcode до версии 7.0 (7A220). И они сказали, что этот вопрос уже отслеживается (Проблема № 4274)

Наконец, я исправил эту проблему следующими шагами: 1) очистить все "Путь к папке личных заголовков" и "Путь к папке общих заголовков" во всех целевых пунктах Pods- > Build Setting- > Packaging 2) удалите "Copy Pods Resources" на наших целевых планах → Фазы сборки.

Ответ 5

Это может быть вызвано использованием CocoaPods 0.38. [0-2] и Xcode 7.

Он работает со старой версией CocoaPods:

$ gem install cocoapods -v "=0.37.2"
$ gem uninstall cocoapods # then select 0.38.[0-2]
$ pod update

(Кроме того, мне также пришлось очистить папку сборки и стереть папку Pods до pod update и внести изменения в AFNetworing post install hook in мой подфайл)

Другие причины обсуждаются в Невозможно создать архив приложений iOS в xcode.

Ответ 6

Прекрасно работает, если вы удаляете копии ресурсов подстраницы из своего расширения. Хотя я понятия не имею, что это может вызвать, мое приложение работает, архивируется и отправляется на рассмотрение.

Ответ 7

При использовании Xcode 7 с cocoapods v.0.38.2. Попробуйте удалить copy pod resources из вашей сегодняшней цели назначения.