Интеграция Xcode Server Bot не удается экспортировать архив с ошибкой утверждения: exportArchive: ipatool завершился ошибкой с исключением
У меня есть настройка сервера сборки с Xcode 7.2 и Server 5.0.15, чтобы мы могли иметь CI. Я могу создать бот Xcode, который создает архив, но он не может завершить последний шаг, который заключается в экспорте архива ipa на сервер, чтобы его можно было загрузить с помощью специальных сборок.
Я могу создать архив с локального компьютера, но всякий раз, когда я запускаю сборочный бот, используя в качестве схемы Distribution, я получаю эту ошибку...
Bot Issue for TEST-BUILD-BOT-3 (build service warning)
Integration #8 of TEST-BUILD-BOT-3
Open in Xcode: xcbot://(null)/botID/fa5f2ef869edbde2181109e01843e862/integrationID/fa5f2ef869edbde2181109e01847dbb0
Assertion: exportArchive: ipatool failed with an exception: #<Errno::EEXIST: File exists - /var/folders/3x/8t3j9vnj48530fxd4g4djp14000087/T/ipatool20160318-45875-5xq2zz/MachOs/iphoneos/armv7/(dylibs)/libswiftContacts.dylib>
File: (null):(null)
Full logs for this integration are attached.
Во-первых, я не уверен, где прикреплены полные журналы (эта ошибка показана в окне бота сборки Xcode).
Некоторая информация о моем проекте:
- Проект состоит из приложения с тремя расширениями (обмениваться фотографиями, обмениваться сафари и смотреть).
- Я использую Cocoapods с некоторыми быстрыми фреймворками, поэтому я использую use_frameworks! Ключевое слово в моем подфайле.
Я пробовал следующее:
- Убедитесь, что все цели (включая модули) используют сертификат распространения.
- Пробовал без / с включенным биткодом.
Наихудшая часть попытки решить эту проблему - то, что сборочный бот занимает 20-30 минут каждый раз, когда я хочу протестировать некоторые изменения, которые я сделал.
Любые предложения будут высоко ценится!
1 ответ
У меня была такая же ошибка, в целях расширения watchapp и watchapp, я изменил настройку, в настройках сборки
Embedded Content Contains Swift Code No
И ошибка исчезла
Я нашел этот технический пост от Apple, в котором говорится, что для любого встроенного контента должно быть установлено значение "Нет", чтобы предотвратить добавление нескольких копий быстрой библиотеки. Я интерпретировал, что в качестве цели наблюдения будет внедрен контент (не уверен, что это означает)