XCode 存档代码设计

Posted

技术标签:

【中文标题】XCode 存档代码设计【英文标题】:XCode archive codesign 【发布时间】:2013-02-10 11:12:40 【问题描述】:

我使用 XCode 归档我签名的应用程序。构建、沙盒、证书等方面没有问题...

您可以在下面看到已签名应用的详细信息:

iMac-de-Admin:~ admin$ codesign -dvvv /Users/admin/Downloads/Alphonso.app 
Executable=/Users/admin/Downloads/Alphonso.app/Contents/MacOS/Alphonso
Identifier=com.Alphonso-soft.Alphonso
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20100 size=2995 flags=0x0(none) hashes=141+5 location=embedded
Hash type=sha1 size=20
CDHash=82820d57a3c4b9d945177df5983eed3eb84e9580
Signature size=4340
Authority=3rd Party Mac Developer Application: John Doe
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=8 févr. 2013 17:07:53
Info.plist entries=20
Sealed Resources rules=4 files=77
Internal requirements count=1 size=196
iMac-de-Admin:~ admin$

该应用程序似乎已正确签名,但当我运行该应用程序时,我收到以下警告/错误:

“Alphonso” can’t be opened because it is from an unidentified developer.

正常吗?

谢谢

【问题讨论】:

"正常吗?" - 当然不是。 正常行为是,如果您可以在您的自己的设备上安装您的自己的应用程序而无需向Apple支付费用,添加无关的代码签名,以及Apple 对开发人员施加的所有那些愚蠢而痛苦的限制。纳夫说。 我已经在我的 Mac 上重新安装了 Mountain Lion。没有 XCode,还没有安装证书。这种情况正常吗? @H2CO3 如果不痛苦就不是安全。 @Zaph Linux 怎么样... 将尝试更改证书。 “3rd Party ...”证书用于提交到 App Store。将为此尝试“开发人员 ID ...”证书。 【参考方案1】:

“3rd Party ...”证书用于提交到 App Store。

使用“Developer ID ...”证书解决问题。

通过将 TrackMix.app 替换为您的应用程序的路径,在终端中输入以下命令。

$ sudo spctl -a -v TrackMix.app

如果应用程序正确签名,终端中会出现类似以下的文本:

./TrackMix.app: accepted
source=Developer ID

【讨论】:

以上是关于XCode 存档代码设计的主要内容,如果未能解决你的问题,请参考以下文章

iOS 代码设计错误“未找到匹配的配置文件”

Xcode 4 存档问题与代码签名

存档 XCode 项目以上传到 Apple Store 时的退出代码 1

XCode 存档:“未找到代码签名身份:未找到有效的签名身份(即证书和私钥对)。”

从 xcode 命令行生成 ipa

Dropbox API 的代码设计在 Xcode 4.6.3 中失败:“代码对象根本没有签名”