错误Itms-90339:此捆绑包无效。 info.plist包含应用程序包中的无效键“CFBundleResourceSpecification”

我试图上传我的应用程序在iOS的iTunes 9.我使用Xcode 7testing版6来build立我的IPA,但iTunes未能上传我的IPA通过以下错误信息。 在这里输入图像说明

“生成设置”>“代码签名”>“代码签名资源规则path”下的项目设置 – 删除“代码签名资源规则path”的值。 这对我来说是固定的问题

我和李东辉一样 我也在使用jenkins。 如果我删除CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist我无法构build。 如果我添加它,我可以build立,但不能提交给苹果。

更新 – >我现在能够使用Jenkins构build并上传到苹果。
我做的是:

  1. 删除CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
  2. find/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication脚本并更新它。
    在脚本中find包含以下代码的行

     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}); 

问题在于Jenkins的Xcode集成插件。 具体来说,在构build详细信息窗格中有一个checkbox,名为“Pack application and build .ipa?”

这个特性将使用可选的'–embed'和'–sign'标志来调用'xcrun PackageApplication'。

在大多数情况下,您将已经运行密码,而且在大多数情况下,configuration文件的embedded是多余的。 不幸的是,插件的作者没有考虑到这一点,这两个可选参数不能通过jenkins插件的GUI来configuration。

解决scheme:

不要select这个选项!

这个选项有三个参数:

  • “.ipa文件名模式”:例如: MyApplication

  • '输出目录':例如: OUTPUT

  • “清单plisturl”(我没有用过这个…)

相反,通过在GUI的“pack”选项中使用参数,在构build之后添加“execute shell”来手动打包.ipa文件:

 /bin/mkdir $(PWD)/build/OUTPUT /usr/bin/xcrun -sdk iphoneos PackageApplication -v $(PWD)/build/MyApplication.app -o $(PWD)/build/OUTPUT/MyApplication.ipa 

检查你的info.plist,如果你的声音CFBundleResourceSpecification空,如果你不需要它,所以删除它。

如果您需要它,则需要在构build设置中检查Code Signing Resource Rules Path下使用的值。

由于我使用Jenkins自动构build,请删除CODE_SIGN_RESOURCE_RULES_PATH = $(SDKROOT)/ResourceRules.plist导致构build失败。 但随着Xcode的build设,它的作品。

使用开发人员工具betabuild立的应用程序不能提交给iTunes Connect。

尝试使用GM或发布版本的工具。