无法使用codesign签署我的应用程序

时间:2015-04-19 01:14:03

标签: java macos codesign

我将我的Jar编译成应用程序,然后制作DMG文件以在Mac上安装它,我取得了很大的成功。我现在正试图签名,但没有运气与%codesign -s

我认为我的语法是正确的(在此示例中,我用“我的名字0000000000”模糊了我的实际公共名称):

codesign -s"开发者ID申请:我的名字(0000000000)" XMarker.app

结果是:

XMarker.app:代码对象根本没有签名 在子组件中:/Users/myname/Desktop/XM-dev/XLIFF2Modules/XMarker.app/Contents/PlugIns/jdk1.8.0_40.jdk

如果我测试的话肯定是这样的:

codesign -d --verbose = 4 XMarker.app XMarker.app:代码对象根本没有签名

如果有人能告诉我我做错了什么,我会很感激

2 个答案:

答案 0 :(得分:1)

尝试去#34; --deep"。

那是:

codesign --deep -s "Developer ID Application: My Name (0000000000)" XMarker.app

Apple recommends against doing "--deep" for production releases,更愿意在将各个组件嵌入最终应用之前对其进行签名(例如" jdk1.8.0_40.jdk")。

答案 1 :(得分:0)

感谢Michael Dautermann!你的线索让我走上了正确的道路!

去“ - 深”不是要走的路,因为我们仍然没有

spctl --assess --type execute XMarker.app test. 

但他的回答的第二部分引导我了解有效的方法。

因此,要确保遇到此问题的其他人能够获得准确,孤立的答案,这是有效的:

cd /Users/myname/Desktop/XM-dev/XLIFF2Modules/XMarker.app/Contents/PlugIns/

codesign -s "Developer ID Application: My Name (0000000000)" jdk1.8.0_40.jdk


cd /Users/myname/Desktop/XM-dev/XLIFF2Modules

codesign -s "Developer ID Application: My Name (0000000000)" XMarker.app

codesign -d --verbose=4 XMarker.app

[收到正确签名的应用程序的确认]

spctl --assess --type execute XMarker.app

[不会收到任何错误,即=确认该应用程序将通过]

[以下我还没有做过,但希望成功 - 如果没有,我会编辑这部分]

spctl --assess --type install XMarker.dmg