Есть ли способ с помощью AppleScript щелкать пункты меню osx без доступа к "Системным событиям"?

Я использую код, подобный этому, чтобы автоматически делать некоторые щелчки в меню, вместо того, чтобы делать их каждый раз самостоятельно:

tell application "System Events" to tell process "myApp"
   click something and so on
end tell

Теперь, чтобы сделать эту работу в песочнице osx lion, мой файл с правами выглядит следующим образом (для выяснения этого было проделано много исследований):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>com.apple.security.app-sandbox</key>
        <true/>
        <key>com.apple.security.temporary-exception.apple-events</key>
        <array>
            <string>com.apple.systemevents</string>
            <string>com.apple.iphonesimulator</string>
        </array>
    </dict>
</plist>

И теперь, как хочет бог, яблоко отклоняет это приложение, потому что я обращаюсь com.apple.systemevents, Есть ли способ обойти, используя System Events щелкнуть указанные пункты меню в меню указанного приложения?

2 ответа

Нет. Отправка событий пользовательского интерфейса другому процессу является нарушением изолированной среды приложения.

Я знаю, что это было давно, я только нашел ваш вопрос.

Что бы это ни стоило, вы можете заглянуть в утилиты MouseTools и Click: http://www.hamsoftengineering.com/codeSharing/MouseTools/MouseTools.html

http://hints.macworld.com/article.php?story=2008051406323031

Код Objective C идет с этим. Я успешно использовал это в своих приложениях, чтобы щелкать по другим частям экрана без AppleScript.

Другой способ - использовать JavaScript для автоматизации пользовательского интерфейса. Ищите эти ключевые слова на сайте разработчиков Apple. Я хотел бы опубликовать ссылки, но не возможно, потому что форум ограничен:(

В обоих случаях вам нужно будет добавить Временное право в ваше приложение, чтобы программа работала в "песочнице".

Другие вопросы по тегам