Macos Applescript到Swift语言(应用程序控制)

Macos Applescript到Swift语言(应用程序控制),macos,swift,applescript,itunes-sdk,Macos,Swift,Applescript,Itunes Sdk,我不知道该怎么称呼这个标题,但我正在编写一个Applescript,它可以从iTunes中提取/推送信息并保存。在我的Applescript的开发过程中,我想如果我要学习一门语言,我会学习Swift,因为我想开发更高级的程序。尽管Applescript同样有用,而我现在做的是在Applescript中工作。。。我想在学习使用Swift开发程序和脚本方面迈出下一步。我希望能够使用Swift复制我在Applescript中所做的事情 我想知道的是,是否有关于如何从可访问性检查器/etc读取数据的教程

我不知道该怎么称呼这个标题,但我正在编写一个Applescript,它可以从iTunes中提取/推送信息并保存。在我的Applescript的开发过程中,我想如果我要学习一门语言,我会学习Swift,因为我想开发更高级的程序。尽管Applescript同样有用,而我现在做的是在Applescript中工作。。。我想在学习使用Swift开发程序和脚本方面迈出下一步。我希望能够使用Swift复制我在Applescript中所做的事情

我想知道的是,是否有关于如何从可访问性检查器/etc读取数据的教程/指南,以及applescript等控制程序的功能等等

为了让大家了解我在Applescript中所做的工作,这是一个非常基本的版本。我在一个小学区工作,该学区现在使用MDM管理I-devices。嗯,有了MDM,每个设备都需要有自己的苹果ID,手动创建500多个苹果ID并不像听起来那么有趣。这些是我在Applescript中重新创建的一些步骤

  • 检查iTunes是否正在运行
  • 检查是否有当前用户登录
  • 如果当前用户已登录,请单击菜单栏下的“注销”
  • 转到“创建苹果ID…”
  • 等等
我采用了Git repo上的当前脚本,并对其进行了一些更改,使其能够与最新版本的iTunes(12.1.2)配合使用。在做了一些修改之后,我想我想学习并开始重写脚本,以完全理解它的工作原理并学习Applescript语法

如果你需要更多关于我尝试做什么的信息,请告诉我


每种语言都有特定的目的。AppleScript的优势在于通过AppleEvents编写进程间脚本,而Swift的优势在于编写大型全功能应用程序。使用AppleScript,您可以使用JavaScript从Safari获取网页内容,使用shell脚本对其进行解析,然后通过电子邮件发送。大多数语言不能像在AppleScript(包括Swift)中那样轻松地完成这项工作。它们是互补的。通过学习这两种方法,你可以做出惊人的事情,但它们都有各自的局限性和优势。

我自己也在研究这类事情。令我惊讶的是,您可以使用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)")
    }
}

尝试搜索“从Swift调用AppleScript”(或Cocoa)或“从Swift调用AppleSevents”(或Cocoa)

如果你想让Mac应用程序自动化,请学习AppleScript。如果你想编写Mac应用程序,请学习Swift。有大量的问题需要解决;我建议你从其中一个开始,我建议你两个都学。如果您想从您在swift中编写的应用程序控制其他应用程序,您很可能会使用applescript桥接语法包含applescript,或者在swift中包含命令以运行applescript命令。感谢您的帖子!就像我说的,“我希望能够用Swift复制我在Applescript中所做的。”我只需要一点帮助,弄清楚我需要寻找什么,因为我不知道正确的术语。我无法想出任何关于Swift和应用程序操作(如搜索)的方法;然而,每一个使用它的AppleScripter都绝对相信它。这无疑让苹果自己的脚本编辑器蒙羞。顺便说一句,200美元对于专业产品来说并不是一个不合理的金额:例如,MS Office商业许可证会让你退回类似的金额。问问自己一小时的时间值多少钱,然后分成200美元。如果你经常做AppleScript开发,它应该为自己支付减少头痛和节省时间的费用。你还可以提供一个苹果脚本给例子。每个苹果脚本我都会出错。。谢谢:)