在最新的电子邮件详细说明10.10 beta 5和10.9.5的看门人更改后,我立即用TN2206的推荐方法验证了我的应用程序.令我惊讶的是,由于我没有使用资源规则并在Mavericks上构建它,它失败了:
$ spctl -a -t exec -v /Applications/MyApp.app/
/Applications/MyApp.app/: rejected
source=obsolete resource envelope
Run Code Online (Sandbox Code Playgroud)
然后,我继续检查Xcode存档中提交的二进制文件,该文件被迅速拒绝,但没有"过时的资源信封"警告.我想那是因为它是由提交证书签名的.
$ spctl -a -t exec -v Products/Applications/MyApp.app/
Products/Applications/MyApp.app/: rejected
Run Code Online (Sandbox Code Playgroud)
后来,我检查了资源信封:
$ codesign -d -v /Applications/MyApp.app/
Executable=/Applications/MyApp.app/Contents/MacOS/MyApp
Identifier=my.app.id
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20100 size=14108 flags=0x200(kill) hashes=697+5 location=embedded
Signature size=4169
Info.plist entries=34
TeamIdentifier=not set
Sealed Resources version=1 rules=5 files=82
Internal requirements count=1 size=220
Run Code Online (Sandbox Code Playgroud)
然后提交的应用程序:
$ codesign -d -v Products/Applications/MyApp.app/
Executable=/Users/jorgepeixotovasquez/Library/Developer/Xcode/Archives/2014-07-09/myapp 09-07-14 00.34.xcarchive/Products/Applications/MyApp.app/Contents/MacOS/myApp
Identifier=my.app.id
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20200 size=14123 flags=0x0(none) hashes=697+5 location=embedded …Run Code Online (Sandbox Code Playgroud)