无法签署Mac OS X应用程序

时间:2013-10-22 12:10:53

标签: java xcode macos codesign

我正在运行这行代码来在Mac OS X上签署我的Java应用程序应用程序 -

#!/bin/sh
export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"
codesign -s "my name" my.app
codesign -v -v my.app  && echo my.app is Signed Successfully!

我已将这些所有行写入一个sh(SignApp.sh)文件并在成功创建应用程序时运行此sh文件以登录我的build.xml文件 -

<target name="SigningApp">
      <exec executable="/bin/sh">
          <arg value="SignApp.sh"/>
     </exec>
</target> 

签署应用程序的相同行在我的系统上运行正常。

我的应用是在另一台服务器上创建的。但有时它使用这行代码成功签署我的应用程序,有时它没有,我在使用此命令验证应用程序时收到这些消息codesign -v -v my.app -

my.app: code object is not signed at all
In architecture: x86_64

还有一件事是在命令提示符下运行以下行,手动签署应用程序 -

  export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"
  codesign -s "my name" my.app

2 个答案:

答案 0 :(得分:0)

尝试使用--deep选项

codesign --deep -s "my name" my.app

我刚刚为我构建了没有错误,只需上传并重新下载,看看它是否真的有效。

答案 1 :(得分:0)

如果您最近更新了Xcode版本(例如,请参见5.0.1),您可能需要将codesign_allocate环境变量的位置更改为: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate

请参阅blog.hoachuck.biz