2017-05-05 49 views
-2

我有一個使用Java Rich Client Platform框架開發的桌面應用程序。從Maven創建.app包之後,我簽署了該應用程序。我跑GateKeeper Blocks代碼應用

codesign -dvvvv --deep amplide.app/ 

和下面是輸出

Executable=/Users/parastiwari/Downloads/Amplide.app/Contents/MacOS/amplide 
Identifier=com.ampl.ide.rcp.product 
Format=app bundle with Mach-O thin (x86_64) 
CodeDirectory v=20200 size=408 flags=0x0(none) hashes=7+3 location=embedded Hash type=sha256 size=32 
CandidateCDHash sha1=5a171d44997474f39a4e748fbdfd298deabebd69 
CandidateCDHash sha256=ab9dff13d32d0e6f811daf1a66979af5ef73f95d 
Hash choices=sha1,sha256 
Page size=4096 
CDHash=ab9dff13d32d0e6f811daf1a66979af5ef73f95d 
Signature size=8931 
Authority=Developer ID Application: AMPL Optimization Inc. (ZNNBG5892S) 
Authority=Developer ID Certification Authority 
Authority=Apple Root CA 
Timestamp=May 4, 2017, 10:24:01 PM 
Info.plist entries=15 
TeamIdentifier=ZNNBG5892S 
Sealed Resources version=2 rules=13 files=1726 
Internal requirements count=1 size=184 

同樣,

codesign --verify --deep --strict --verbose=2 amplide.app/ 

產生

amplide.app/: valid on disk 
amplide.app/: satisfies its Designated Requirement 

最後,

spctl -a -t exec -vv amplide.app produces 

amplide.app: accepted 

source=Developer ID 

origin=Developer ID Application: AMPL Optimization Inc. (ZNNBG5892S) 

看來一切都好。但是當我嘗試啓動應用程序時,我收到警告消息,說應用程序是從互聯網下載的。任何人都可以幫我解決我的代碼簽名應用程序有什麼問題嗎?

謝謝,帕拉斯

回答

0

這是正常的。系統將首次通知告訴用戶它們啓動從互聯網下載的應用程序(即隔離應用程序)。

如果您的應用沒有正確簽署Gatekeeper,那麼對話框會說它不是來自已確定的開發人員,並且沒有Open按鈕。用戶必須右鍵或按住Control並點擊它,然後從上下文菜單中選擇「打開」以獲得啓動應用程序的機會。

您應該嘗試使用未簽名的應用程序副本來查看差異。

相關問題