在最新的电子邮件详细说明了 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
然后,我继续检查 Xcode 存档中提交的二进制文件,该文件立即被拒绝,但没有“过时的资源信封”警告。我想那是因为它是由提交证书签名的。
$ spctl -a -t exec -v Products/Applications/MyApp.app/
Products/Applications/MyApp.app/: rejected
后来,我自己检查了资源信封:
$ 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
然后提交的应用程序:
$ 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
Signature size=4393
Signed Time=09/07/2014 00:34:08
Info.plist entries=34
TeamIdentifier=F2XAAD6WWR
Sealed Resources version=2 rules=12 files=85
Internal requirements count=1 size=220
如您所见,Mac App Store 下载的应用程序只有版本 1 的资源信封,即使提交了版本 2 的资源包。可以肯定的是,我检查了我的 /Application 文件夹,发现我从 Mac App Store 下载的每个应用程序都有一个版本 1 的信封,甚至是 Apple 的信封。
有谁知道这是否正常,即如果 Mac App Store 在重新签署应用程序时只添加版本一信封?
此外,这会引起问题吗?
苹果会解决这个问题吗?
修复后,我应该重新提交我的应用程序吗?