【问题标题】:On macOS Monterey, cannot create shortcut actions在 macOS Monterey 上,无法创建快捷操作
【发布时间】:2021-09-10 08:34:26
【问题描述】:

我正在尝试关注Meet Shortcuts for macOS,但我一直卡在你拥有的堆栈上

class IntentHandler: NSObject, CreateTaskIntentHandling {
    func handle(intent: CreateTaskIntent, completion: @escaping (CreateTaskIntentResponse) -> Void) {
        let title = intent.title!
        let dueDate = intent.dueDate!
    
        let task = createTask(name: title, due: dueDate)
    
        let response = CreateTaskIntentResponse(code: .success, userActivity: nil)
        response.task = task
        completion(response)
    }
}

问题是let task = createTask(name: title, due: dueDate) 假设来自哪里,它的类型也是已经定义的任务,所以我使用不同的名称进行训练,我不知道我应该如何创建 CreateTaskIntentResponse .task 类,并且似乎没有任何指令可以这样做,我也有一些问题,它都是 beta 版,所以同一方法会有不同的版本,并且意图文件中的一个字段需要是填写。

【问题讨论】:

  • 您是否按照视频所示构建了意图定义文件?
  • 是的,它编译得很好,我现在已经尝试了 5 次,但我总是以这个 let task = createTask(name: title, due: dueDate) 方法结束,因为它不能编译已定义,我想如何实现它,我将类型更改为 NoteTask 以避免与 Task 混淆,但编译器不会让我创建 NoteTask,它不会让我的 NoteTask 分配给响应,什么是 NoteTask 或任务假设是,我如何创建它?我希望他们能让我下载项目并让我自己寻找。
  • 我下载了 SoupChefAcceleratingAppInteractionsWithShortcuts,并试图编译它,但失败了,视频也没有告诉你想要你的 NSApplicationDelegate 函数应该做或者你的 IntentsExtension 方法应该做,到目前为止它不完整据我所知。

标签: swift macos shortcut


【解决方案1】:

好的,这就是 createTask 函数的样子

func createTask(name: String, due: DateComponents) -> Task {
    let task = Task(identifier: "<appid>.createTask", display: name)
    task.dueDate = due
    return task
}

我认为 appid 是您的应用程序 ID。

【讨论】:

    猜你喜欢
    • 2021-10-08
    • 2021-12-12
    • 2021-12-15
    • 1970-01-01
    • 2023-01-18
    • 2021-12-15
    • 2022-12-04
    • 1970-01-01
    • 2022-12-19
    相关资源
    最近更新 更多