1

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!

以前に、当時私のマシンは Mountain Lion 10.8.2 であったため、Mavericks で構築されたアプリを起動できないと質問しましたが、現在は Mavericks を使用しています。現在の状況は、アプリをビルドするサーバー マシンに似ています。

  • Java : jdk7u21
  • クロスコード: 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 に署名しようとしましたが、アプリでは何も起こりません。

Mavericks の前はすべて正常に機能していました。以前は、署名ステートメント内で--deepパラメータを使用する必要はありませんでした。

アプリに署名せずにアプリを構築している場合、正常に起動します!!

Mavericks でアプリに署名する方法を提案してください。

ありがとう

4

1 に答える 1

0

私の問題は、Java を jdk7u21 から最新の jdk7u45 に更新することで解決されました。詳細情報は、こちらに追加されています - How to preserve alias property while signing app?

ありがとう

于 2013-11-27T10:58:46.657 に答える