xcodebuild - codesign -vvvv说“资源包络已经过时” [英] xcodebuild - codesign -vvvv says"resource envelope is obsolete"

查看:217
本文介绍了xcodebuild - codesign -vvvv说“资源包络已经过时”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚更新了我的xcode安装以使用xcode 6.0.1,以便开始为ios8设备编译我的应用程序。出于某种原因,我无法正确签署使用以下内容生成的应用程序文件:

I've just updated my xcode install to use xcode 6.0.1 in order to start compiling my app for ios8 devices. For some reason I am not able to ever sign the app file correctly that is generated using the following:

xcodebuild -project GrantM/GrantM.xcodeproj -configuration Release

它编译代码并且看起来很好,但正在运行:

it compiles the code and appears to be fine, but running:

/usr/bin/codesign --verify -vvvv GrantM/GrantM.app

给我:

Program /usr/bin/codesign returned 1 : [GrantM/GrantM.app: resource envelope is obsolete]
Codesign check fails : GrantM/GrantM.app: resource envelope is obsolete

使用以下方法检查代码是否已签名:
/ usr / bin / codesign -dv GrantM / GrantM.app

checking that the code was signed at all using: /usr/bin/codesign -dv GrantM/GrantM.app

返回:

Executable=Documents/GrantM/GrantM/GrantM.app/GrantM
Identifier=com.grantapps.GrantM
Format=bundle with Mach-O universal (armv7 (16777228:0))
CodeDirectory v=20200 size=647 flags=0x0(none) hashes=23+5 location=embedded
Signature size=4336
Signed Time=24 Sep 2014 12:54:53 pm
Info.plist entries=34
TeamIdentifier=N3KKU46JLY
Sealed Resources version=2 rules=5 files=55
Internal requirements count=1 size=180

还有其他人在OSX 10.9.5& xcode 6.0.1?
或者我只是有点愚蠢并且做了一些明显的错误?

has anyone else run into similar issues on OSX 10.9.5 & xcode 6.0.1? Or am I just being a bit stupid and doing something obvious wrong?

此外,我能够找到在xcode和xcode中生成的应用程序的调试版本可以成功签署,但它是一个调试版本,它不适用于distrobution。我甚至无法手动签署xcodebuild生成的应用程序文件。

additionally, I was able to find the debug version of the app generated in xcode and could sign that successfully, but it being a debug version it won't work for distrobution. I can't even manually sign the xcodebuild generated app file.

感谢您提前获得任何帮助或建议。

thanks for any help or advice in advance.

推荐答案

如果您使用的是Mac OSX 10.9.5或更高版本,那么使用V2签名操作系统会出现问题。

If you are using Mac OSX 10.9.5 or later, then there is an issue with OS codesigning with V2 signature.

因此,使用 - no-strict 标记 codesign --verify 来克服此错误。

So, use --no-strict flag with codesign --verify to get over this error.

如果您正在使用PackageApplication创建.ipa文件,那么

If you're using PackageApplication to create an .ipa file, then

使用<$编辑PackageApplication perl脚本工具c $ c> vi PackageApplication 命令和更新codesign函数出现以传递 - no-strict 参数。

Edit the PackageApplication perl script tool using vi PackageApplication command and update codesign function occurrences to pass --no-strict parameter.

示例:


my $ result = runCmd(/ usr / bin / codesign, - verify , - no-strict
-vvvv,, $ plugin);

my $result = runCmd("/usr/bin/codesign", "--verify", "--no-strict", "-vvvv", , $plugin );

我面对同样的情况,得到了Apple Dev Team的以下回复。这个问题已经解决了。

I was facing same and got the following response from Apple Dev Team. The issue is resolved for me.


命令行工具codesign在10.9.5和10.10中已更改,您需要传递--no-strict选项命令,(问题已报告并将被修复)。
要解决此问题,请保存副本并修改PackageApplication以将-no-strict传递给codesign,您可以通过运行以下命令找到PackageApplication:
xcrun -sdk iphoneos -f PackageApplication

The command line tool "codesign" has changed in 10.9.5 and 10.10, you need to pass "--no-strict" option to the command, (the problem has been reported and will be fixed). To workaround the problem, please save a copy and modify PackageApplication to pass "—no-strict" to codesign, you can locate PackageApplication by running the following: xcrun -sdk iphoneos -f PackageApplication

这篇关于xcodebuild - codesign -vvvv说“资源包络已经过时”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆