Выключите и включите Bluetooth программно - PullRequest
1 голос
/ 06 декабря 2011

Есть ли способ программно включать и выключать соединение Bluetooth в OSX таким образом, чтобы это было принято Mac App Store?

Из моего предыдущего вопроса я нашел около blueutil , но он использует частные API.

1 Ответ

8 голосов
/ 06 декабря 2011

Было бы несколько удивительно, если бы Apple одобрила приложение, которое изменило настройки антенны пользователя. Это похоже на то, над чем они обычно нахмуриваются, независимо от того, как вы это делаете. Но иногда я удивляюсь.

Вы определенно можете сделать это через Applescript:

tell application "System Preferences"
    set current pane to pane "com.apple.preferences.Bluetooth"
    tell application "System Events"
        tell process "System Preferences"
            set isOnCheckbox to checkbox "On" of window "Bluetooth"
            if value of isOnCheckbox is 0 then
                click isOnCheckbox
            end if
        end tell
    end tell
    quit
end tell

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


EDIT

Потому что вы спросили, я возьму момент, чтобы разглагольствовать здесь ...

Что касается того, как научиться читать и писать вышеизложенное, то сначала обратите внимание, что оно, как и большинство AppleScript, которые я пишу профессионально, было создано из результатов поиска и экспериментов в Google. В глубине души я - программист-пурист, и я верю в то, что действительно понимаю технологии, которые вы используете. Даже я собираю вещи в AppleScript до тех пор, пока они не «работают».

Хотелось бы, чтобы был действительно хороший документ. Конечно, есть справочник по языку , но это похоже на изучение Какао из определения языка ObjC. Мои текущие рекомендации: Начиная с AppleScript , а затем AppleScript: полное руководство . В частности, Нойбург не приукрашивает язык и не делает вид, что это имеет смысл. Apple, даже хуже, чем оригинальный COBOL (ADD X TO Y GIVING Z), очень сложно написать, потому что он очень старается быть легким. Я люблю и уважаю много языков. AppleScript это дерьмо.

Это, однако, самый поддерживаемый способ взаимодействия с большинством системных функций Mac, поэтому хороший разработчик Mac должен, по крайней мере, быть в состоянии справиться с этим. Даже если вы используете новый ScriptingBridge через ObjC (или MacRuby), базовая объектная модель по-прежнему основана на AppleScript. По моему опыту, чтобы заставить код ScriptingBridge работать хорошо, вы обычно должны сначала написать его в AppleScript, а затем перевести в Какао.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...