2015-03-03 31 views
0

我有一個使用嵌入式二進制文件顯示其狀態項的沙盒應用程序。 在首批推出的主要應用程序(它推出這樣的嵌入式二進制:OSX:在打開嵌入式二進制文件時避免使用userprompt

NSWorkspace.sharedWorkspace().launchApplication(statusItemPath) 

)OSX顯示用戶提示,如果用戶真的要啓動嵌入式應用: enter image description here

我發現這讓用戶感到困惑 - 我明白這是出於安全原因,但我想通過MAS分發,因此這兩個二進制文件都需要通過審覈。

是否有辦法避免這種用戶提示(也許唱歌選項或授權密鑰?)

回答

2

當一個應用程序從互聯網下載,或運行通過另一個程序的第一次,OS X的保護用戶使用稱爲'quarantine'的機制。

一旦用戶接受運行應用程序,應用程序上的隔離擴展屬性將被刪除。

拆除隔離屬性可以用下面的命令來完成:

xattr -d com.apple.quarantine /PATH/TO/APPLICATION 

所以,你可以調出該系統從初始應用程序上的嵌入式二進制運行此。不過,我不確定這是蘋果應用程序商店可以接受的。

首選的方法是使用XPC並創建一個由launchd自動啓動的幫助程序。你可以閱讀關於here