Я пытаюсь загрузить свое приложение в iTunes для iOS 9. Я использовал Xcode 7 beta 6 для создания своего IPA, но iTunes не смог загрузить мой IPA, следуя сообщению об ошибке.
Ошибка Itms-90339: этот пакет недействителен. В файле info.plist содержится недопустимый ключ "CFBundleResourceSpecification в приложении
Ответ 1
Параметры проекта в разделе "Настройки сборки" > "Подписание кода" > "Правила доступа к ресурсам кода". "Путь к контенту" - удалить значение для "Правила доступа к ресурсам кода". Эта исправленная проблема для меня
Ответ 2
Я та же лодка, что и Дунхуй Ли. Я тоже использую Дженкинса. Если я удалю CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
, я НЕ смогу построить. И если я добавлю его, я смогу построить, но НЕ сможет представить Apple.
ОБНОВЛЕНИЕ → Теперь я могу создавать и загружать в яблоко с помощью Jenkins.
Я сделал это:
- Удалить
CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
-
Найдите
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication
script и обновите его.
Найдите строки, содержащие следующий код в scriptmy @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements,resource-rules", "--sign", $opt{sign}, "--resource-rules=$destApp/ResourceRules.plist");
измените его на:
my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements", "--sign", $opt{sign});
Ответ 3
Проблема заключается в плагине интеграции Xcode для Jenkins. В частности, есть флажок в панели деталей сборки: "Паковать приложение и строить .ipa?"
Эта функция вызовет 'xcrun PackageApplication' с дополнительными флажками '--embed' и '--sign'.
по большей части вы уже запускаете код, а также в большинстве случаев вложение профиля подготовки является избыточным. к сожалению, автор плагина не учел этого, и эти два необязательных параметра не настраиваются через графический интерфейс плагина jenkins.
решение:
НЕ ВЫБРАТЬ ЭТО ВАРИАНТ!
Эта опция имеет три параметра:
-
'. ipa filename pattern': ex: MyApplication
-
'Output directory': ex: OUTPUT
-
'манифест plist URL' (я не использовал это...)
вместо этого вручную упакуйте ваш .ipa файл, добавив "execute shell" после сборки, используя параметры, которые вы бы указали в опции "pack" GUI:
/bin/mkdir $(PWD)/build/OUTPUT
/usr/bin/xcrun -sdk iphoneos PackageApplication -v $(PWD)/build/MyApplication.app -o $(PWD)/build/OUTPUT/MyApplication.ipa
Ответ 4
Проверьте свой info.plist, если у вас есть голос CFBundleResourceSpecification
пустой, и если вам это не нужно, удалите его.
Если вам это нужно, вам нужно проверить значение, которое вы используете в Code Signing Resource Rules Path
в настройке сборки.
Ответ 5
Поскольку я использую Jenkins для автоматической сборки, удалите CODE_SIGN_RESOURCE_RULES_PATH = $(SDKROOT)/ResourceRules.plist, который приведет к сбою сборки. Но с построением xcode он работает.
Ответ 6
Приложения, созданные с помощью инструментов разработчика, не могут быть отправлены в iTunes Connect.
Попробуйте использовать GM или версию версии инструментов.