Обзор
Наши сборки командной строки (для создания и создания .ipa) больше не работают.
iTunesConnect начал отклонять сборки, которые используют настройку сборки CODE_SIGN_RESOURCE_RULES_PATH
.
Если мы создадим WITHOUT, то не удастся установить инструмент PackageApplication (который мы используем для создания подписанного .ipa).
Кажется, что PackageApplication вызывает /usr/bin/codesign с аргументами правил ресурсов, даже если параметр CODE_SIGN_RESOURCE_RULES_PATH
build исключен
Я подозреваю, что PackageApplication необходимо обновить, чтобы он не вызывал /usr/bin/codesign с аргументами правил ресурсов, когда параметр CODE_SIGN_RESOURCE_RULES_PATH
build исключен.
Кто-нибудь нашел решение для этого?
Подробнее
Мы создаем наше приложение в командной строке следующим образом:
xcodebuild -workspace myApp.xcworkspace -scheme myApp -sdk iphoneos -configuration AppStoreDistribution OBJROOT=$PWD/build SYMROOT=$PWD/build ONLY_ACTIVE_ARCH=NO 'CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist'
Мы создаем подписанную .ipa в командной строке следующим образом:
xcrun -log -sdk iphoneos PackageApplication "/Users/mpv/dev/myApp/build/AppStoreDistribution-iphoneos/myApp.app" -o "/Users/mpv/dev/myApp/build/AppStoreDistribution-iphoneos/myApp.ipa" -sign "iPhone Distribution: MyTeam (XXXXXXXXXX)" -embed /Users/mpv/Library/MobileDevice/Provisioning\ Profiles/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.mobileprovision
iTunesConnect теперь отклоняет наши сборки со следующей ошибкой:
"Этот пакет недействителен. В Info.plist содержится недопустимый ключ 'CFBundleResourceSpecification' в пакете myApp [myApp.app]"
Если мы удалим бит 'CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist'
из команды сборки, приложение будет создано без ключа CFBundleResourceSpecification
plist (который, я полагаю, является тем, что мы хотим). Новая команда сборки выглядит следующим образом:
xcodebuild -workspace myApp.xcworkspace -scheme myApp -sdk iphoneos -configuration AppStoreDistribution OBJROOT=$PWD/build SYMROOT=$PWD/build ONLY_ACTIVE_ARCH=NO
Теперь проблема заключается в том, что команда для сборки .ipa терпит неудачу со следующей ошибкой:
ошибка:/usr/bin/codesign --force --preserve-metadata = идентификатор, права, правила ресурсов --sign iPhone Распространение: MyTeam (XXXXXXXXXX) --resource-правила =/вар/папки/2b/7hylk7nn13dgrl9yyh2wp0lm0000gn/Т/zDRRJMkKtQ/Полезная нагрузка /myApp.app/ResourceRules.plist --entitlements/var/folders/2b/7hylk7nn13dgrl9yyh2wp0lm0000gn/T/zDRRJMkKtQ/entitlements_plistIUdGWLYe /var/folders/ 2b/7hylk7nn13dgrl9yyh2wp0lm0000gn/T/zDRRJMkKtQ/Payload/myApp.app с ошибкой 1. Выход: Предупреждение: использование -preserve-metadata с опцией "правила ресурсов" (устарела в Mac OS X >= 10.10)!
Предупреждение: --resource-правила устарели в Mac OS X >= 10.10! /var/folders/ 2b/7hylk7nn13dgrl9yyh2wp0lm0000gn/T/zDRRJMkKtQ/Payload/myApp.app/ResourceRules.plist: не может читать ресурсы
Кажется, что PackageApplication вызывает /usr/bin/codesign с аргументами правил ресурсов, даже если параметр CODE_SIGN_RESOURCE_RULES_PATH
аргумент/построение исключен.
Я думаю, что PackageApplication необходимо обновить, чтобы он не вызывал /usr/bin/codesign с аргументами правил ресурсов, когда параметр CODE_SIGN_RESOURCE_RULES_PATH
аргумент/построение исключен.