Архив xcodebuild генерирует неверный xcarchive при добавлении пользовательских настроек сборки
Я пытаюсь создать xcarchive с помощью xcodebuild, который позже могу экспортировать как .ipa, используя новую функциональность, добавленную с Xcode 5.
Это отлично работает:
xcodebuild -workspace 'MyWorkspace.xcworkspace' -scheme 'MyScheme' -configuration 'Release' -archivePath tmp.xcarchive archive
xcodebuild -exportArchive -exportFormat IPA -archivePath tmp.xcarchive -exportPath app.ipa -exportWithOriginalSigningIdentity
Но как только я добавлю настройки пользовательской сборки в команду архива:
-derivedDataPath build SYMROOT=build/build.sym DSTROOT=build/build.dst OBJROOT=build/build.obj SHARED_PRECOMPS_DIR=build/build.pch
Созданный .xcarchive пуст, но ошибки нет.
Любые идеи?
Ответы
Ответ 1
Для меня это связано с Installation Directory
установкой сборки развертывания в Xcode: CMake каким-то образом устанавливает это значение в ""
, то есть пустую строку, когда она должна была быть "/Applications"
, по умолчанию для Xcode. Для меня установка его на что-либо еще, кроме "/Applications"
, привела к тому, что полученный архив был пустым и, следовательно, "искажен".
Так что, возможно, у вашего проекта как-то не было Installation Directory
установлено значение "/Applications"
, либо из-за CMake, либо что-то еще.
Чтобы установить это с помощью CMake, добавьте его в целевые свойства:
set_target_properties(${MODULE} PROPERTIES
...
XCODE_ATTRIBUTE_INSTALL_PATH "/Applications"
...
)
Ответ 2
Для меня эта ошибка произошла, когда у меня не осталось места на диске, где я пытался создать архив. Но я не мог сказать, что из ошибок в консоли он
Ответ 3
В моем случае каталог/путь к файлу archivepath был неправильно установлен на предыдущих шагах, и он просматривал каталог, в котором не было файла .xcarchive. Стоит проверить вручную пути и если файл архива существует в каталоге
Ответ 4
В моем случае я пропустил расширение .xcarchive
в конце моего пути.
xcodebuild -exportArchive -archivePath /<path_to_archive>/file.xcarchive ...