2015-05-03 2 views
0

я получил приложение работает нормально, то пошел представить магазин приложений и обнаружил, что называется песочница :-pЧто Entitlements я должен указать использовать по умолчанию написать com.apple.screencapture в NSTask()

I читали документацию и форумы разработчиков, но я не могу понять, что конкретно право мне нужно добавить, чтобы получить эту работу:

let task = NSTask() 
    task.launchPath = "/bin/bash" 
    task.arguments = ["-c", 
     "defaults write com.apple.screencapture type gif;killall SystemUIServer"] 
    task.launch() 

Я думал, возможно com.apple.screencapture и com.apple.security.temporary-exception.shared-preference.read-write Булева YES может сделать трюк, но К сожалению, нет

ответ

2

Сделайте это без NSTask и без оболочки:

Для использования по умолчанию используйте com.apple.security.temporary-exception.shared-preference.read-write и добавьте домен, который вы хотите изменить (например. com.apple.screencapture), а затем использовать CFPreferencesSetValue()

Для killall использования com.apple.security.temporary-exception.apple-events и запустить Applescript/отправить AppleEvent с прекратить определенные процессы.

Как вы видите, оба права являются временными, и вам нужны веские причины, чтобы заставить их пройти обзор. Цель песочницы заключается в том, что приложения не мешают другим приложениям. Особенно прерывание SystemUIServer может быть очень навязчивым.

+0

удивительный, спасибо. – tsh79