【发布时间】:2015-09-10 14:15:09
【问题描述】:
【问题讨论】:
【问题讨论】:
Build Settings > Code Signing > Code Signing Resource Rules Path 下的项目设置 - 删除 Code Signing Resource Rules Path 的值。对我来说已解决的问题
【讨论】:
//CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
CODE_SIGN_RESOURCE_RULES_PATH 的情况下,您是如何设法构建自动化软件的?我正在使用 Jenkins,当我删除 CODE_SIGN_RESOURCE_RULES_PATH 时出现代码签名错误。
我和李东辉是同一条船。我也在使用詹金斯。如果我删除 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 文件的观点。正如Apple自己所说,真正的解决方案是使用xcodebuild -exportArchive -exportPlistOptions:stackoverflow.com/questions/32763288/…
问题在于 Jenkins 的 Xcode 集成插件。 具体来说,构建详细信息窗格中有一个复选框,名为: “打包应用程序并构建.ipa?”
此功能将调用 设置了可选的“--embed”和“--sign”标志的“xcrun PackageApplication”。
在大多数情况下,您已经运行了 codesign,而且在大多数情况下,预置配置文件的嵌入是多余的。不幸的是插件的作者没有考虑到这一点,并且这两个可选参数无法通过jenkins插件的GUI进行配置。
解决办法:
请勿选择此选项!
这个选项有三个参数:
'.ipa 文件名模式':例如:MyApplication
'输出目录':例如:OUTPUT
'manifest plist URL'(我没用过这个...)
改为手动打包您的 .ipa 文件,方法是在构建后使用 GUI 的“pack”选项中的参数添加“execute shell”:
/bin/mkdir $(PWD)/build/OUTPUT
/usr/bin/xcrun -sdk iphoneos PackageApplication -v $(PWD)/build/MyApplication.app -o $(PWD)/build/OUTPUT/MyApplication.ipa
【讨论】:
如果您的语音 CFBundleResourceSpecification 为空,请检查您的 info.plist,如果您不需要它,请将其删除。
如果您需要它,那么您需要检查您在 构建设置 中 Code Signing Resource Rules Path 下使用的值。
【讨论】:
CFBundleResourceSpecification?
Code Signing Resource Rules Path 并从 iTunesConnect 得到了相同的 CFBundleResourceSpecification 错误。 :(
当我使用 Jenkins 自动构建时,删除 CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist 会导致构建失败。但是通过 xcode 构建,它可以工作。
【讨论】:
使用开发者工具测试版构建的应用程序无法提交到 iTunes Connect。
用 GM 或发布版本的工具试试吧。
【讨论】: