2015-04-30 51 views
2

我不知道該怎麼稱呼標題,但是我正在研究一個從iTunes中取出/推送信息並保存的Applescript。在開發我的Applescript的過程中,我發現如果我要學習一門語言,那麼我將學習Swift,因爲我希望開發更先進的程序。儘管Applescript同樣有用,而我正在做的是在Applescript中工作......我想要學習下一步,以使用Swift開發程序和腳本。我希望能夠使用Swift複製我能夠在Applescript中做的事情。Swift語言的應用程序(應用程序控制)

我想知道的是,如果有關於怎麼樣AppleScript的是能夠做的,從無障礙檢查的/ etc和控制程序讀取數據的教程/指南,等...

爲了給你一個什麼關於我在Applescript中能做的背景,這是一個非常基本的版本Batch Apple ID Creator。我在一個現在使用MDM管理智能設備的小型學區工作。那麼,對於MDM,每個設備都需要擁有自己的蘋果ID,手動創建500+蘋果ID並不像聽起來那麼有趣。這些是我在Applescript中重新創建的一些步驟。

  • 檢查是否iTunes的運行
  • 檢查,看看是否有當前用戶登錄。
  • 點擊「退出」下的菜單欄,如果當前用戶登錄。
  • 轉到「創建的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中編寫的應用程序中的其他應用程序,你很可能會在swift中使用applescript橋接語法或命令來包含applescript,以運行applescript命令。 – markhunte

回答

5

我正在調查這類事情。令我驚訝的是,你可以使用Swift作爲腳本語言。我寫了幾個使用簡單'shebang'行的簡短腳本#!/ usr/bin/swift

要訪問AppleScript功能,您幾乎必須從Swift代碼中調用AppleScript(通過Cocoa)。

下面是一個例子,我在別處找到了:

Swift代碼

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'(或可可)或 '呼叫來自雨燕的AppleEvents'(或可可)。

+0

您是否也可以提供一個蘋果腳本示例。我收到每個蘋果腳本的錯誤..謝謝:) –

1

每種語言都有特定的用途。 AppleScript的優勢在於通過AppleEvents進行的進程間腳本編寫,而Swift的優勢在於編寫大型全功能應用程序。使用AppleScript,您可以使用JavaScript從Safari中獲取網頁的內容,使用shell腳本解析它,然後使用Mail將其發送到電子郵件中。大多數語言都無法像AppleScript那樣輕鬆完成此類任務(包括Swift)。它們是互補的。你可以通過學習兩種方法來做出令人驚歎的事情,但它們各有其侷限性和優勢。