2015-08-14 4 views
14

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

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

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

Xcode 6.3.2
| -Archive
| --Продукция
| --- Приложения
| ---- MyMainApp .app

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. Сообщается, что еще один разработчик Invalid archive produced when using "Archive" in Xcode 7 beta 5 (with watchkit extension) #4021. Это, по-видимому, является основной причиной этой проблемы.

Окружающая среда:
- Xcode 7 Beta 5
- Сегодня Extension
- Normal App
- CocoaPods 0.38.2 (Последние версии от 9/22)
- AFNetworking Используется в Extension & App

+0

Где расширения идут, определяется установкой сборки «Installation Directory». Тем не менее, у меня такая же проблема, и установка «/ Applications» для расширений помещала их в то же место, что и Xcode 6, но архив по-прежнему попадает в «Other Utils». –

+0

У меня есть аналогичная проблема, но у меня есть структура в '/ Library/Frameworks'. –

+0

Реальное решение заключается в том, чтобы понизить кокопод до 0.39.0 beta 3 - у бета-версии 4 есть ошибка, которая вызывает вашу проблему. См. Http://stackoverflow.com/a/32654636/1103584 – DiscDev

ответ

12

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

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

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

+0

Спасло меня много времени, спасибо! Я использую Xcode 7 GM – estemendoza

+0

Такая же проблема при выпуске Xcode 7.0. – Yaroslav

+0

Хотя это «ответ», реальный ответ заключается в том, что у cocoapods v0.39.0 beta 4 есть ошибка, а понижение до бета-версии 3 исправит его: http://stackoverflow.com/a/32654636/1103584 – DiscDev

0

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

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

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

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

Другие причины обсуждаются в Cannot generate iOS App archive in xcode.

+0

Я хотел бы использовать это решение, но cocoapods выдает ошибку на 'pod update' на версии' 0.37.2' –

+0

Спасибо, но вам нужно использовать версию 0.38.2 для создания архива, если вы используете AFNetworkin иначе https: // github .com/CocoaPods/CocoaPods/issues/3738. Я сделаю образец проекта, может быть, мне нужно отправить еще одну ошибку в cocoapod. Использование 0.37.2 не будет работать с Xcode 7 для моих целей. Спасибо за информацию. Сообщение об ошибке после публикации. –

+0

Возвращение к 0.37.2 работало для меня, даже если я использую AFNetworking. Определенно хорошая идея подать отчет об ошибке с помощью Cocoapods. Удачи! –

0

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

16

Это проблема с 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

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

+0

работает как шарм – user1480139

+0

спасибо. отлично работал для меня тоже после того, как я запустил «sudo gem uninstall cocoapods» для удаления бета-версии 4. – jlichti

+0

это должно быть отмечено как ответ - принятый в настоящее время ответ не дает решения - у меня была та же проблема и я подтвердил, что переход на бета-версию 3 исправил мой проект, и теперь я могу успешно создавать архивы. – DiscDev

1

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

наконец, я установил этот вопрос со следующими шагами: 1) Очистить все «Path Private Folder Headers» и «Public Folder Headers путь» во всех стручках Targets- > Build Setting-> Packaging 2) удалите «Copy Pods Resources» в наших целевых категориях -> Фазы сборки.

3

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

Так вместо того, чтобы удалить

sudo gem uninstall cocoapods 

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

sudo gem install cocoapods 

Кроме простой

sudo gem update cocoapods 

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

0

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

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