如何使用 Xcode 5.0.2 在 Mavericks 上签署应用程序?

Posted

技术标签:

【中文标题】如何使用 Xcode 5.0.2 在 Mavericks 上签署应用程序?【英文标题】:How to sign app on Mavericks with Xcode 5.0.2? 【发布时间】:2013-11-25 06:39:18 【问题描述】:

我正在尝试使用 Xcode 5.0.2 在 Mavericks OS 上签署我的 java 应用程序 -

#!/bin/sh
if [ -f "/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate" ]; then
export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"
elif [ -f "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate" ]; then
export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate"
else
export CODESIGN_ALLOCATE="/usr/bin/codesign_allocate"
fi
codesign --deep -s "my name" MayApp.app
codesign -v MayApp.app && echo MayApp.app is Signed Successfully!

之前我问过Unable to launch App built on Mavericks,因为当时我的机器在 Mountain Lion 10.8.2 上,但现在我有 Mavericks。 现在的情况类似于我们构建应用程序的服务器机器 -

Java : jdk7u21 Xcode:5.0.2

在启动应用程序时我仍然面临同样的错误,即 -

admins-iMac-4:~ admin$ open /Users/admin/Desktop/APP/MyApp.app 
LSOpenURLsWithRole() failed with error -10810 for the file /Users/admin/Desktop/APP/MyApp.app.

如果我在没有 --deep 参数的情况下签名,那么 -

SigningApp:
     [exec] MayApp.app: code object is not signed at all
     [exec] In subcomponent: /Users/admin/Desktop/BUILD/MayApp.app/Contents/PlugIns/jdk1.7.0_21.jdk
     [exec] MayApp.app: code object is not signed at all

我尝试了多种组合来签名,但都是徒劳的-

codesign --deep -s "我的名字" MayApp.app codesign --force -s "我的名字" MayApp.app codesign --force -s "我的名字" MayApp.app/Contents/PlugIns/jdk1.7.0_21.jdk

在签署应用程序之前尝试签署 jdk,但应用程序没有任何反应。

在小牛队之前一切正常,之前不需要在签名声明中使用 --deep 参数。

如果我在没有签名的情况下构建应用程序,那么它启动正常!!

请建议任何在 Mavericks 签署应用程序的方式。

谢谢

【问题讨论】:

【参考方案1】:

我的问题已经通过将 Java 从 jdk7u21 更新到最新的 jdk7u45 解决了,这里添加了详细信息 - How to preserve alias property while signing app?

谢谢

【讨论】:

以上是关于如何使用 Xcode 5.0.2 在 Mavericks 上签署应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以选择从 Xcode 5.0.2 禁用自动生成配置文件?

XCode 5.0.2 模拟器通讯录为空

Xcode 5.0.2 错误:无法在 Xcode 中启动问题 [关闭]

使用 XCode 5.0.2 将问题从非 ARC 迁移到 ARC

使用 Mac OS X 10.8.5 Xcode 5.0.2 配置错误:clang:错误:缺少“-V”的参数(预期 1 个值)clang:错误:没有输入文件

Xcode 5.0.2 中的链接框架