Ответ 1
Взгляните на это: fooobar.com/questions/42957/...
И если вы не уверены, что это ошибка, вы также можете получить подтверждение: http://cutting.io/posts/packaging-ios-apps-from-the-command-line/
Apple выпустила обновление Xcode 7, которое сломало все снова.
Раньше нам приходилось иметь дело с
ResourceRules.plist: невозможно прочитать ресурсы
с помощью описанного хакера, например здесь. Некоторые люди удивляются, почему это даже произошло в первую очередь.
Однако при обновлении Xcode 7 они запретили использование Code Signing Resource Rules Path
, указав эту ошибку, когда этот параметр установлен:
ОШИБКА ITMS-90339: "Этот пакет недействителен. Info.plist содержит недопустимый ключ" CFBundleResourceSpecification" в пакете
Этот question относится именно к этой проблеме с ответом, предлагающим удалить эту опцию из настроек сборки. Угадайте, что после удаления первая ошибка появляется, поэтому мы оказываемся в цикле.
Мой вопрос (конечно, как мы пришли в этот беспорядок, конечно):
Как мы исправим обе проблемы, поэтому iOS-здание работает в Jenkins и Xcode 7 с последующей загрузкой TestFlight?
Взгляните на это: fooobar.com/questions/42957/...
И если вы не уверены, что это ошибка, вы также можете получить подтверждение: http://cutting.io/posts/packaging-ios-apps-from-the-command-line/
Как и в Xcode 7, мы должны использовать xcodebuild
вместо PackageApplication
для создания файла .ipa.
xcodebuild имеет новую опцию -exportArchive
для создания .ipa, которая больше похожа на Xcode Organizer.
См. ответ здесь для деталей: Создание iOS build/ipa больше не работает из командной строки
Я исправил ту же проблему, изменив настройки сборки Jenkins: Перейдите в раздел Конфигурация > Дополнительные параметры сборки Xcode и добавьте в Пользовательские аргументы xcodebuild
CODE_SIGN_RESOURCE_RULES_PATH = $(SDKROOT)/ResourceRules.plist
Эти две команды отлично работали для меня:
Создать архив: xcodebuild -workspace "/path/to/something.xcworkspace" -схема "некоторая корпоративная" -конфигурация Release -CODE_SIGN_IDENTITY = "ваша личность" PROVISIONING_PROFILE = "61xyz111 -22x0-2345-123x-xyxxxxxx" archive -archivePath "/where/you/want/the/archive/xyz.xcarchive"
Создать IPA: xcodebuild -exportArchive -exportFormat IPA -exportProvisioningProfile "Имя вашего профиля" -archivePath "/where/you/saved/the/archive/xyz.xcarchive" -exportPath "/where/you/want/the/IPA/xyz.ipa"