在“Build Settings” > “Code Signing” > “Code Signing Resource Rules Path”下的项目设置中,删除“Code Signing Resource Rules Path”的值。这对我解决了问题。
我和李东辉一样,也在使用Jenkins。如果我删除 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
并更新它。
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});
PackageApplication
已经被弃用,它很可能只是时间问题,因为它将停止工作,并出现其他问题。我也同意 kent 修改内部 XCode 文件的做法。苹果公司自己提出了真正的解决方案,即使用 xcodebuild -exportArchive -exportPlistOptions
:https://dev59.com/XFwY5IYBdhLWcg3wU2XA#32845990 - Ohad Schneider/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
,如果不需要,请将其删除。
如果您需要它,请检查您在构建设置中使用的值Code Signing Resource Rules Path
。
CFBundleResourceSpecification
。 - Kaushal Panjwani使用开发者工具测试版构建的应用无法提交到iTunes Connect。
请尝试使用GM版或发布版的工具进行构建。
由于我使用Jenkins进行自动构建,移除CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist会导致构建失败。但是在使用Xcode构建时,它可以正常工作。
//CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
- mattv123CODE_SIGN_RESOURCE_RULES_PATH
的情况下构建的?我正在使用Jenkins,在删除CODE_SIGN_RESOURCE_RULES_PATH
时出现了代码签名错误。 - Hlung