Bri*_*n M 5 ios siri swift sirikit
我正在使用测试应用程序和扩展程序来尝试 SiriKit 驱魔。我的分机根本没有被调用,我不知道为什么。我在另一个应用程序中有一个有效的 SiriKit 扩展,它莫名其妙地停止响应 - 因此这个测试应用程序。
这是我在测试应用程序中设置 SiriKit 所做的工作:
2) 在应用程序的 info.plist 中添加了 Siri 使用说明: 
3)添加了一个新的 Intents 扩展测试目标,并将我想要的 Intent 添加到扩展 info.plist 中: 
4) 连接 IntentHandler 类:
class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> Any {
print("IntentHandler.handle")
switch intent {
case is INAddTasksIntent: return AddIntentHandler()
default: break
}
return self
}
}
Run Code Online (Sandbox Code Playgroud)
5)创建我的处理程序类:
class AddIntentHandler: NSObject, INAddTasksIntentHandling {
func handle(intent: INAddTasksIntent, completion: @escaping (INAddTasksIntentResponse) -> Void) {
print("AddIntentHandler.handle")
return completion(INAddTasksIntentResponse(code: .success, userActivity: nil))
}
}
Run Code Online (Sandbox Code Playgroud)
6) 在 AppDelegate 中获得使用 Siri 的权限:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
INPreferences.requestSiriAuthorization({ status in
if status == .authorized {
print("Ok - authorized")
}
})
return true
}
Run Code Online (Sandbox Code Playgroud)
7)向应用程序添加了一个 AppIntentVocabulary.plist 文件(我也测试了将其添加到扩展中): 
10) 在目标部署信息区域仔细检查应用和扩展目标是否至少需要 iOS 13.2 版本:
11) 然后我在运行 iOS 13.3 的 iPhone 上安装该应用程序,在它启动后授予 Siri 权限,并尝试使用 Siri 添加培根。它根本不调用我的扩展程序,并将其添加到内置的提醒应用程序中。
12)我直接从设备上的 XCode 启动扩展,同样的交易 - 我的扩展从未被调用。
我知道注册 Siri 语言可能需要一段时间,但我已经被这个问题困扰了好几天: 
不确定它是否相关,但就像我说的,我让 Siri 在不同的应用程序中工作 - 没有部署到应用程序商店。我花了一些时间研究应用程序中的其他功能,现在又回到了 Siri 集成,却发现它不再响应。我已经回滚到我最后一次已知的 Siri 提交,结果发现它现在在那个(已知良好的)提交中也不起作用。
帮助!我已经为此失去了几天!发生了什么或我错过了什么?!
所以毕竟事实证明问题 100% 是我试图用来调用我的应用程序扩展的语言。
谁知道这行不通,“Appname,将培根添加到列表中”,但这会:“将培根添加到 AppName 中的列表”。如果您以应用程序名称开头,“提醒”会捕获它并将其放入提醒列表中。
我将开始一个关于触发意图的新问题。对困惑感到抱歉。
| 归档时间: |
|
| 查看次数: |
879 次 |
| 最近记录: |