Ошибка Itms-90339: этот пакет недействителен. В файле info.plist содержится недопустимый ключ "CFBundleResourceSpecification в приложении

Я пытаюсь загрузить свое приложение в iTunes для iOS 9. Я использовал Xcode 7 beta 6 для создания своего IPA, но iTunes не смог загрузить мой IPA, следуя сообщению об ошибке. введите описание изображения здесь

Ответ 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 и обновите его.
    Найдите строки, содержащие следующий код в script

    my @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 или версию версии инструментов.