错误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并上传到苹果。
我做的是:
- 删除
CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
-
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或发布版本的工具。