2014-11-23 77 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