2014-11-23 41 views
0

我一直在试图在Mail.app上使用“codesign”命令,以便我可以使用“defaults write”命令修改info.plist。它用于工作,但我重新安装了优胜美地之后,我收到运行命令时,这样的结果:终端的“codesign”命令麻烦

/Applications/Mail.app: no identity found 

我跑这个命令:

codesign -f -s /Applications/Mail.app 

如果有谁能够告诉我,我怎么会正常在Mail.app上运行codesign命令,这样我就可以使用“defaults write”命令修改Mail.app的info.plist,这将很好!谢谢!

回答

2

你只是在这里缺少一个参数。我可以用--force,准确地确定我要使用的签名重新协同设计的应用程序:

$ codesign --force -s "Developer ID Application: Michael Dautermann" Mail.app 
Mail.app: replacing existing signature 

如果你想验证Mail.app确实签署,这里是我的邮件看起来副本像以前我强迫我的签名到它:

$codesign --display --verbose=4 Mail.app 
Executable=/Applications/Mail.app/Contents/MacOS/Mail 
Identifier=com.apple.mail 
Format=bundle with Mach-O thin (x86_64) 
CodeDirectory v=20100 size=23743 flags=0x0(none) hashes=1179+5 location=embedded 
Hash type=sha1 size=20 
CDHash=a3920218afa4f082aac98bf486dd797b13fde588 
Signature size=4097 
Authority=Software Signing 
Authority=Apple Code Signing Certification Authority 
Authority=Apple Root CA 
Info.plist entries=41 
TeamIdentifier=not set 
Sealed Resources version=2 rules=15 files=262 
Internal requirements count=1 size=64 
+0

对于“开发者ID应用:迈克尔Dautermann”的一部分,我需要的地方注册,以获取一个账号,或者是涉及钥匙扣访问的东西吗?无论我放什么,我总是收到消息 开发者ID应用程序:(我的名字):没有发现身份 – user3541125 2014-11-24 02:28:47

+1

获得证书最简单的方法是向苹果公司注册MacOS开发人员计划(这是99美元无论你在世界哪个地方,美国和大致相似的东西)。如果你想使用自己的证书,那可能也是一种选择。 “OSX代码签名深度”文档(和[在此我链接到“使用OpenSSL部分创建自签名代码签名证书”)中有更多详细信息(https://developer.apple.com/library/mac /technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG10))。 – 2014-11-24 03:29:41

+0

嗨,我发现一个代码可以工作(或至少似乎工作)没有签名: codesign - f -s - /Applications/Mail.app 我必须使用sudo才能正常工作。在Info.plist上运行该代码后,Sudo默认写入也起作用(或者至少,似乎仍然有效)。但是,当我打开Mail.app时,它只是自动关闭,我怀疑这是由于邮件跟踪未经授权的代码更改的事实 更具体地说,我的命令是: 'sudo codesign -f -s - /Applications/Mail.app'和 'sudo defaults write /Applications/Mail.app/Contents/Info LSUIElement 1' – user3541125 2014-11-24 04:27:48