2016-12-16 5 views
0

Определенный API, который я хочу использовать, работает только с AppleScript для запроса информации из приложения. Я хочу создать приложение MacOSX, могу ли я использовать скрипт apple в этом приложении? Есть ли работа над реализацией сценария Apple?Могу ли я использовать команды apple script в приложении MacOSX?

Спасибо!

ответ

0

Не связывайтесь с NSAppleScript: это правильное пита для передачи данных в и как вы должны упаковать и распаковать каждый NSAppleEventDescriptor самостоятельно. Самый простой способ вызова AS внутри приложения Cocoa - через AppleScript-ObjC bridge, который позволяет вашему ObjC-коду вызывать AS-обработчики как собственные методы (и наоборот) и выполняет преобразование значений AS-ObjC для вас.

Других варианты для отправки события Apple, прямо из ObjC/Swift:

  • рамка ScriptingBridge MacOS, которая парализована, дрянной и ужасно запутанная, но может быть достаточно тривиальные задачи (AS через АСКИ по-прежнему является самым безопасным и самый надежный выбор, хотя)

  • SwiftAutomation framework, что я разрабатываю с целью подачи его в Apple в новом году. Это новая база кода, и я все еще выбиваю ошибки, но дизайн сходит с приложений, который зарекомендовал себя как настоящая альтернатива AppleScript за десятилетие реального использования.

Кстати, если SwiftAutomation представляет интерес для вас, пожалуйста, запрос функции файла на bugreport.apple.com просит Apple, чтобы принять его и включить в 10.13. Чем больше дубликатов билетов они получают, тем больше вероятность того, что они обратят внимание.

2

Если вы хотите поговорить с другим приложением только через AppleScript, это может быть так же просто, как использование пары API в классе NSAppleScript.

E.G.

initWithSource: (я предполагаю, Objective-C, но, конечно, есть Swift эквиваленты) и executeAndReturnError:

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