Я использую xcodebuild
для создания архива из рабочего пространства. Я использую следующую команду:xcodebuild создает другой архив для Xcode 7.0.1
xcodebuild -workspace MyProject.xcworkspace -scheme "MyProject"
-destination generic/platform=iOS archive
-archivePath "../PathToArchive/MyProject.xcarchive
(я разнесены его на несколько строк для удобства чтения)
Эта команда генерирует MyProject.xcarchive
. Однако он генерирует общий «Архив Xcode», а не «Архив приложений для iOS». Это не может быть отправлено в App Store.
Если я архивирую ту же рабочую область и схему с использованием Xcode.app версии 7.0.1 (7A1001) вместо xcodebuild
, тогда я получаю «Архив приложений для iOS», который можно отправить в App Store.
Осмотр содержимого этих двух xcarchive
s показывает, что основное отличие состоит в комплекте Info.plist
. Тот, который генерируется Xcode.app, содержит дополнительный ApplicationProperties
dict с версиями и деталями подписания. Тот, который генерируется xcodebuild
, не содержит этих деталей в Info.plist.
Копирование Xcode.app сгенерировано Info.plist в xcarchive
, сгенерировано xcodebuild
«исправляет» архив, и его можно отправить в App Store. Однако это не решение, так как это означает, что я не могу построить командную строку.
Обратите внимание, что делает xcodebuild -version
отпечатки:
Xcode 7.0.1
Build version 7A1001
Edit: иногдаxcodebuild
появляется, чтобы создать правильный IOS App Архив вместо того, Generic Archive. Я не совсем уверен, почему это происходит. Это непротиворечиво.
Если вы обновили, возможно, вам понадобится сделать полный чистый ctrl + alt + cmd + shift + k (я думаю), и вам нужно будет удалить все ваши производные данные. – Jeef
@Jeef благодарит за советы, но чистые и удаленные полученные данные по-прежнему приводят к одной и той же проблеме – simeon