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

标签 macos swift applescript itunes-sdk

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

我想知道的是,是否有关于如何从可访问性检查器/等读取数据以及控制程序(如 applescript)能够执行的操作等的教程/指南...

为了让您了解我在 Applescript 中能够做什么,它是 Batch Apple ID Creator 的一个非常基本的版本。 .我在一个小型学区工作,该学区现在使用 MDM 来管理 i 设备。好吧,有了 MDM,每台设备都需要拥有自己的 Apple ID,手动创建 500 多个 Apple ID 并不像听起来那么有趣。这些是我在 Applescript 中重新创建的一些步骤。

  • 检查 iTunes 是否正在运行
  • 检查是否有当前用户登录。
  • 如果当前用户已登录,请单击菜单栏下的“退出”。
  • 转到“创建 Apple ID...”
  • 等等

我采用了该 Git 存储库上的当前脚本并对其进行了一些更改,以便它可以与最新版本的 iTunes (12.1.2) 一起使用。进行一些更改后,我认为我想学习并开始重写脚本以充分理解它的工作原理并学习 Applescript 语法。

如果您需要有关我正在尝试做的事情的更多信息,请告诉我。

三色

最佳答案

我自己正在调查这类事情。令我惊讶的是,您可以将 Swift 用作脚本语言。我写了几个简短的脚本,它们使用简单的“shebang”行 #!/usr/bin/swift

要访问 AppleScript 功能,您几乎必须从 Swift 代码调用 AppleScript(通过 Cocoa)。

这是我在别处找到的一个例子:

快速代码

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 调用 AppleEvents”(或 Cocoa)。

关于macos - Applescript 到 Swift 语言(应用程序控制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29975684/

相关文章:

macos - 苹果脚本 : error "sh: lame: command not found" number 127

ios - 如何在 swift 4 中对数组日期进行排序

ios - 如何以编程方式快速保持 Aspect-fixed UIView 在任何屏幕方向填满屏幕?

objective-c - 使 Cocoa 应用程序可编写脚本

c# - 已编译的单声道缺少默认 .NET 库 - 未定义或导入 System.Object

ios - 将图像旋转 3*Double.pi/2 使图像不出现 (swift3)

applescript - iTerm applescript 在两个单独的垂直 Pane 中写入

macos - 使用 AppleScript 关闭 FireFox 中的特定选项卡

python - CLI 钢琴合成器?

php - 升级到优胜美地后损坏的 Apache 配置