我将我的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:代码对象根本没有签名
如果有人能告诉我我做错了什么,我会很感激
答案 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