答案 0 :(得分:94)
构建设置下的项目设置>代码签名>代码签名资源规则路径 - 删除代码签名资源规则路径的值。这对我来说已经解决了问题
答案 1 :(得分:57)
我和李东辉是同一条船。我也在使用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});
答案 2 :(得分:5)
问题在于Jenkins的Xcode集成插件。 具体来说,构建详细信息窗格中有一个复选框,名为: “打包应用程序并构建.ipa?”
此功能会调用 'xcrun PackageApplication'带有可选的'--embed'和'--sign'标志设置。
大多数情况下,您已经运行了代码签名,并且在大多数情况下,配置配置文件的嵌入也是多余的。不幸的是,插件的作者没有考虑到这一点,并且这两个可选参数不能通过jenkins插件的GUI进行配置。
解决方案:
请勿选择此选项!
此选项有三个参数:
'。ipa文件名模式':例如: MyApplication
'输出目录':例如:输出
'显示plist URL'(我没有使用过这个......)
相反,通过使用GUI中“pack”选项中的参数在构建后添加“执行shell”来手动打包.ipa文件:
/bin/mkdir $(PWD)/build/OUTPUT
/usr/bin/xcrun -sdk iphoneos PackageApplication -v $(PWD)/build/MyApplication.app -o $(PWD)/build/OUTPUT/MyApplication.ipa
答案 3 :(得分:0)
当我使用Jenkins自动构建时,删除CODE_SIGN_RESOURCE_RULES_PATH = $(SDKROOT)/ResourceRules.plist会导致构建失败。但是使用xcode构建,它可以工作。
答案 4 :(得分:0)
使用开发者工具测试版构建的应用程序无法提交给iTunes Connect。
尝试使用GM或发布版本的工具。