2015-04-30 2 views
2

Я не был уверен, как назвать название, но я работаю над Applescript, который извлекает/выводит информацию из iTunes и сохраняет ее. Во время разработки моего Applescript я понял, что, если я собираюсь выучить язык, я буду изучать Swift, поскольку я хочу развивать более продвинутые программы в будущем. Несмотря на то, что Applescript так же полезен, а то, что я делаю, работает в Applescript ... Я хотел сделать следующий шаг в обучении для разработки программ и скриптов с помощью Swift. Я хочу иметь возможность копировать то, что я смог сделать в Applescript, используя Swift.Applescript для Swift Language (управление приложениями)

То, что я хотел бы знать, если есть учебник/руководство о том, как читать данные из программ доступности инспектор/и т.д., и управления, как AppleScript способен делать, и т.д ...

Чтобы дать вам на том, что я смог сделать в Applescript, это действительно базовая версия Batch Apple ID Creator. Я работаю в небольшом школьном округе, который теперь использует MDM для управления i-устройствами. Ну, с MDM, у каждого устройства должен быть свой собственный идентификатор Apple, и вручную создание 500+ идентификаторов Apple не так весело, как кажется. Вот некоторые из тех шагов, которые я воссоздал в Applescript.

  • Проверьте, чтобы увидеть, если ITunes работает
  • Проверьте, есть ли текущий пользователь вошел в систему.
  • Нажмите кнопку «Выход» под строкой меню, если текущий пользователь вошел в систему.
  • Goto «Создать Apple ID ...»
  • т.д.

Я взял текущий сценарий, который на этой Git репо и внесли некоторые изменения к нему, так что работает с последней версией iTun es (12.1.2). Сделав некоторые изменения, я хотел бы узнать и начать переписывать сценарий, чтобы полностью понять, как он работает, и изучить синтаксис Applescript.

Дайте мне знать, если вам нужна дополнительная информация о том, что я пытаюсь сделать.

Throdne

+0

Пожалуйста, включите [то, что вы пробовали] (http://mattgemmell.com/what-have-you-tried/) в свой пост. – milo526

+0

Если вы хотите автоматизировать приложения Mac, изучите AppleScript. Если вы хотите писать приложения Mac, изучите Swift. Существует много [книг] (http://www.amazon.com/gp/search/keywords=applescript) на [оба] (http://www.amazon.com/gp/search/keywords=swift+language); Я предлагаю вам начать с одного из них. – foo

+0

Я предлагаю вам изучить оба. Если вы хотите управлять другими приложениями из приложения, которое вы написали в swift, вы, скорее всего, включите applescript, используя синтаксис моста с помощью applescript или команды, чтобы быстро запускать команды applescript. – markhunte

ответ

5

Я сам занимаюсь этим. Меня поражает то, что вы можете использовать Swift как язык сценариев. Я написал несколько коротких сценариев, которые используют простую строку «shebang» #!/Usr/bin/swift

Чтобы получить доступ к функциям AppleScript, вам почти нужно вызвать AppleScript (через Cocoa) из вашего кода Swift.

Вот пример, который я нашел в другом месте:

Swift Code

let myAppleScript = "..." 
var error: NSDictionary? 
if let scriptObject = NSAppleScript(source: myAppleScript) { 
    if let output: NSAppleEventDescriptor = scriptObject.executeAndReturnError(
                     &error) { 
     println(output.stringValue) 
    } else if (error != nil) { 
     println("error: \(error)") 
    } 
} 

попытка поиска для 'называют AppleScript от Swift' (или какао) или 'вызов AppleEvent с от Swift' (или какао).

+0

Можете ли вы также предоставить пример Apple Script на примере. Я получаю сообщение об ошибке для каждого скрипта Apple. Спасибо :) –

1

Каждый язык имеет конкретную цель. Сила AppleScript - это межпроцессорный скриптинг через AppleEvents, а сила Swift - программирование больших полнофункциональных приложений. С помощью AppleScript вы можете получить содержимое веб-страницы из Safari с помощью JavaScript, проанализировать его с помощью сценария оболочки и отправить его по электронной почте с помощью Mail. Большинство языков не могут сделать так легко, как вы можете сделать это в AppleScript (включая Swift). Они дополняют друг друга. Вы можете делать удивительные вещи, изучая оба, но каждый из них имеет свои собственные ограничения и сильные стороны.

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

  • Нет связанных вопросов^_^