2015-03-03 2 views
0

У меня есть изолированное приложение, которое использует встроенный двоичный файл, чтобы показать его статус. При первом запуске главного приложения (где он запускает встроенные двоичный так:OSX: Избегайте использования userprompt при открытии встроенного двоичного кода

NSWorkspace.sharedWorkspace().launchApplication(statusItemPath) 

) OSX отображает пользовательский запрос, если пользователь действительно хочет запустить встроенное приложение: enter image description here

I найти это действительно запутанным для пользователя - я понимаю, что это по соображениям безопасности, но я хочу распространять через MAS, и поэтому оба файла должны пройти обзор.

Есть ли способ избежать этого пользователя подсказку (возможно вариант пения или правомочия ключ?)

ответ

2

Когда приложение загружается из Интернета, или запустить через другую программу в первый раз, OS X защищает пользователь с механизмом, известным как 'quarantine'.

Как только пользователь принимает запуск приложения, атрибут расширенного карантина приложения удаляется.

Удаление атрибута карантина можно сделать с помощью следующей команды:

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

Таким образом, вы могли бы взывать к системе, чтобы запустить это от вашего исходного приложения на встроенном двоичном. Однако я не уверен, что это будет приемлемо для Apple для App Store.

Предпочтительным методом было бы использовать XPC и создать вспомогательное приложение, которое запускается автоматически с помощью запуска. Вы можете прочитать об этом here.