Applescript 到 Swift 语言(应用程序控制)
Applescript to Swift Language (application control)
我不确定如何称呼标题,但我正在处理来自 iTunes 的 pulls/pushes 信息并保存的 Applescript。在我的 Applescript 开发过程中,我认为如果我要学习一门语言,我将学习 Swift,因为我想在未来开发更高级的程序。尽管 Applescript 非常有用,而且我正在做的是使用 Applescript...我想在学习使用 Swift 开发程序和脚本方面迈出下一步。我希望能够使用 Swift.
复制我在 Applescript 中所做的事情
我想知道的是,是否有关于如何从辅助功能中读取数据的 tutorial/guide inspector/etc 以及控制程序(如 applescript)能够执行的操作等...
为了让您了解我在 Applescript 中能够做什么,它是 Batch Apple ID Creator 的一个非常基本的版本。我在一个小型学区工作,该学区现在使用 MDM 来管理 i-devices。好吧,有了 MDM,每台设备都需要拥有自己的 Apple ID,手动创建 500 多个 Apple ID 并不像听起来那么有趣。这些是我在 Applescript 中重新创建的一些步骤。
- 检查 iTunes 是否 运行
- 检查是否有当前用户登录。
- 如果当前用户已登录,请单击菜单栏下的"Sign Out"。
- 转到 "Create Apple ID..."
- 等等
我采用了那个 Git 存储库上的当前脚本并对其进行了一些更改,以便它可以与最新版本的 iTunes (12.1.2) 一起使用。进行一些更改后,我认为我想学习并开始重写脚本以完全理解它的工作原理并学习 Applescript 语法。
如果您需要有关我正在尝试做的事情的更多信息,请告诉我。
思罗德
每种语言都有特定的用途。 AppleScript 的强项是通过 AppleEvents 编写进程间脚本,而 Swift 的强项是编写大型全功能应用程序。使用 AppleScript,您可以使用 JavaScript 从 Safari 获取网页内容,使用 shell 脚本解析它,并使用 Mail 通过电子邮件发送它。大多数语言无法像您在 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)")
}
}
尝试搜索 'call AppleScript from Swift'(或 Cocoa)或 'call AppleEvents from Swift'(或 Cocoa)。
我不确定如何称呼标题,但我正在处理来自 iTunes 的 pulls/pushes 信息并保存的 Applescript。在我的 Applescript 开发过程中,我认为如果我要学习一门语言,我将学习 Swift,因为我想在未来开发更高级的程序。尽管 Applescript 非常有用,而且我正在做的是使用 Applescript...我想在学习使用 Swift 开发程序和脚本方面迈出下一步。我希望能够使用 Swift.
复制我在 Applescript 中所做的事情我想知道的是,是否有关于如何从辅助功能中读取数据的 tutorial/guide inspector/etc 以及控制程序(如 applescript)能够执行的操作等...
为了让您了解我在 Applescript 中能够做什么,它是 Batch Apple ID Creator 的一个非常基本的版本。我在一个小型学区工作,该学区现在使用 MDM 来管理 i-devices。好吧,有了 MDM,每台设备都需要拥有自己的 Apple ID,手动创建 500 多个 Apple ID 并不像听起来那么有趣。这些是我在 Applescript 中重新创建的一些步骤。
- 检查 iTunes 是否 运行
- 检查是否有当前用户登录。
- 如果当前用户已登录,请单击菜单栏下的"Sign Out"。
- 转到 "Create Apple ID..."
- 等等
我采用了那个 Git 存储库上的当前脚本并对其进行了一些更改,以便它可以与最新版本的 iTunes (12.1.2) 一起使用。进行一些更改后,我认为我想学习并开始重写脚本以完全理解它的工作原理并学习 Applescript 语法。
如果您需要有关我正在尝试做的事情的更多信息,请告诉我。
思罗德
每种语言都有特定的用途。 AppleScript 的强项是通过 AppleEvents 编写进程间脚本,而 Swift 的强项是编写大型全功能应用程序。使用 AppleScript,您可以使用 JavaScript 从 Safari 获取网页内容,使用 shell 脚本解析它,并使用 Mail 通过电子邮件发送它。大多数语言无法像您在 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)")
}
}
尝试搜索 'call AppleScript from Swift'(或 Cocoa)或 'call AppleEvents from Swift'(或 Cocoa)。