2014-10-27 5 views
1

Если я передам свой Applescript другому человеку, ему придется вручную разрешить управление Applescript на своем компьютере, перейдя в «Системные настройки», нажав «Безопасность» & «Конфиденциальность», затем нажмите «Конфиденциальность», а затем «Доступность», а затем, наконец, добавьте Applescript. Есть ли все-таки я могу сделать Applescript, добавив его, так что им не нужно? Есть ли другое решение? Потому что, не делая этого, Applescript не может щелкнуть вещи.Как предоставить Applescript разрешения через Applescript?

Без добавления applescript, поэтому он может иметь контроль, я получаю сообщение об ошибке: «Редактору сценария не разрешается доступ к помощи».

+2

Вероятно, нет - это было бы довольно большое отверстие безопасности, если ограниченный код может дать полные привилегии без вмешательства пользователя. –

+0

Есть ли способ, чтобы я мог ввести их пароль, и это изменило бы их для них? – James

+0

Проверьте это: http://apple.stackexchange.com/questions/111903/allow-application-to-control-computer-assistive-devices-on-mavericks-via-termi –

ответ

1

Я считаю, что вы пытаетесь включить вспомогательный доступ для устройств. Например, для сценариев GUI это необходимо включить. Вы не можете включить его напрямую, но вы можете указать пользователю в нужное место. Ниже выясняется, включен ли вспомогательный доступ и отображает панель «Системные предпочтения», где указан параметр.

tell application "System Events" 
    set UI_enabled to UI elements enabled 
end tell 
if UI_enabled is false then 
    tell application "System Preferences" 
     activate 
     set current pane to pane id "com.apple.preference.universalaccess" 
     display dialog "This script utilizes the built-in Graphic User Interface Scripting architecture of Mac OS x which is currently disabled." & return & return & "You can activate GUI Scripting by selecting the checkbox \"Enable access for assistive devices\" in the Universal Access preference pane." with icon 1 buttons {"Cancel"} default button 1 
    end tell 
end if 

Этого должно быть достаточно, чтобы ваши пользователи могли получить подсказку.

0

Вы теоретически можете сделать это с помощью командной строки:

https://raymii.org/s/snippets/OS-X-Enable-Access-for-assistive-devices-via-command-line.html

Например, в Lion и Mountain Lion это просто:

touch /private/var/db/.AccessibilityAPIEnabled 
+0

Хотя эта ссылка может ответить на вопрос, она лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/18627678) – Eka

Смежные вопросы