Error Itms-90339: This bundle is invalid . The info.plist contains an invalid key 'CFBundleResourceSpecification’ in app bundle

前端 未结 6 1251
挽巷
挽巷 2020-12-04 10:10

I am trying to upload my application on iTunes for iOS 9. I used Xcode 7 beta 6 to build my IPA , but iTunes failed to upload my IPA by following error message .

相关标签:
6条回答
  • 2020-12-04 10:14

    Applications built with developer tools betas cannot be submitted to iTunes Connect.

    Try it with the GM or release version of the tools.

    0 讨论(0)
  • 2020-12-04 10:20

    As I use Jenkins to build automatically, remove CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist leads to a fail build. But with xcode building, it works.

    0 讨论(0)
  • 2020-12-04 10:24

    I am the same boat as DongHui Li. I am using Jenkins too. If I remove CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist I am NOT able to build. And if I add it, I can build but NOT able to submit to Apple.

    UPDATE -> I am able to build and upload to apple using Jenkins now.
    What I did is:

    1. Remove CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
    2. Find the /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication script and update it.
      Find the lines including the following code in the script

      my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements,resource-rules",
                        "--sign", $opt{sign},
                        "--resource-rules=$destApp/ResourceRules.plist");
      

      change it to:

      my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements",
                        "--sign", $opt{sign});
      
    0 讨论(0)
  • 2020-12-04 10:30

    Check in your info.plist if you have the voice CFBundleResourceSpecification empty and if you not need it so remove it.

    If you need it so you need to check the value that you use under Code Signing Resource Rules Path in build setting.

    0 讨论(0)
  • 2020-12-04 10:34

    Project settings under Build Settings > Code Signing > Code Signing Resource Rules Path - Delete the value for Code Signing Resource Rules Path. That fixed issue for me

    0 讨论(0)
  • 2020-12-04 10:34

    The problem lies in the Xcode integration plugin for Jenkins. Specifically, there is a checkbox in build details pane called : "Pack application and build .ipa?"

    This feature will call 'xcrun PackageApplication' with the optional '--embed' and '--sign' flags set.

    for the most part you will have already run codesign, and also in most cases the embedding of the provisioning profile is redundant. unfortunately the author of the plugin has not taken this into consideration, and these two optional parameters are not configurable through the GUI of the jenkins plugin.

    the solution:

    DO NOT SELECT THIS OPTION!

    This option has three parameters:

    • '.ipa filename pattern' : ex: MyApplication

    • 'Output directory' : ex: OUTPUT

    • 'manifest plist URL' ( I've not used this... )

    instead, manually package your .ipa file by adding the 'execute shell' after the build using the parameters you would in the 'pack' option of the GUI:

    /bin/mkdir $(PWD)/build/OUTPUT    
    /usr/bin/xcrun -sdk iphoneos PackageApplication -v $(PWD)/build/MyApplication.app -o $(PWD)/build/OUTPUT/MyApplication.ipa
    
    0 讨论(0)
提交回复
热议问题