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

xcodebuild -project GrantM/GrantM.xcodeproj -configuration Release

它可以编译代码,看起来还不错,但是可以运行:
/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

返回:
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上遇到类似问题?
还是我只是有点愚蠢,做一些明显的错误?

此外,我能够找到在xcode中生成的应用程序的调试版本,并且可以成功对其进行签名,但是它是无法用于发行的调试版本。我什至无法手动签署xcodebuild生成的应用程序文件。

感谢您的任何帮助或建议。

最佳答案

如果您使用的是Mac OSX 10.9.5或更高版本,则带有V2签名的OS代码签名存在问题。

因此,将--no-strict标志与codesign --verify结合使用可以克服此错误。

如果您使用PackageApplication创建.ipa文件,则

使用vi PackageApplication命令编辑PackageApplication perl脚本工具,并更新codesign函数的出现以传递--no-strict参数。

例:



我面临着同样的事情,并且得到了Apple Dev Team的以下答复。这个问题已为我解决。

关于xcode - xcodebuild-codesign -vvvv说“资源信封已过时”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26008449/

10-09 09:15