首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未调用SiriKit扩展

未调用SiriKit扩展
EN

Stack Overflow用户
提问于 2019-12-12 23:17:04
回答 2查看 954关注 0票数 6

我正在使用一个测试应用程序和扩展来尝试SiriKit驱魔。我的分机根本没有被调用,我不知道为什么。我在另一个应用程序中有一个可以正常工作的SiriKit扩展,它莫名其妙地停止了响应--因此有了这个测试应用程序。

下面是我在测试应用中设置SiriKit所做的工作:

1)向应用目标添加Siri权限:

2)在应用的info.plist中增加了Siri的使用描述:

3)添加了新的Intents扩展测试目标,并在扩展info.plist中添加了我想要的意图:

4)连接IntentHandler类:

代码语言:javascript
复制
class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> Any {
    print("IntentHandler.handle")
    switch intent {
        case is INAddTasksIntent: return AddIntentHandler()
        default: break
    }
    return self
}
}

5)创建我的处理程序类:

代码语言:javascript
复制
class AddIntentHandler: NSObject, INAddTasksIntentHandling {
func handle(intent: INAddTasksIntent, completion: @escaping (INAddTasksIntentResponse) -> Void) {
    print("AddIntentHandler.handle")
    return completion(INAddTasksIntentResponse(code: .success, userActivity: nil))
}
}

6)在AppDelegate中获取使用Siri的权限:

代码语言:javascript
复制
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    INPreferences.requestSiriAuthorization({ status in
        if status == .authorized {
            print("Ok - authorized")
        }
    })
    return true
}

7)在应用中添加了一个AppIntentVocabulary.plist文件(我也测试了将其添加到扩展中):

8)我仔细检查了扩展是否嵌入到app目标中:

9)并且扩展目标显示了正确的支持意图:

10)在目标部署信息区域,仔细检查应用程序和扩展目标是否至少需要iOS版本13.2:

11)然后,我在运行iOS 13.3的iPhone上安装这款应用,在它启动后授予它权限,并尝试使用Siri添加培根。它根本不会呼叫我的分机,并将其添加到内置提醒应用程序中。

12)我直接从设备上的XCode启动扩展,同样的处理-我的扩展从不被调用。

我知道注册Siri语言可能需要一段时间,但我已经纠结了好几天了:

我不确定这是否相关,但就像我说的,我让Siri在另一个应用程序中工作--而不是部署到应用程序商店。我花了一些时间在应用程序的其他功能上工作,现在又回到了Siri集成,结果发现它不再响应。我已经回滚到我最后一次使用Siri的提交,结果发现它现在在那个(已知良好的)提交中也不起作用。

帮助!我已经为此浪费了几天的时间!到底是怎么回事还是我错过了什么?!

EN

回答 2

Stack Overflow用户

发布于 2019-12-13 03:20:28

所以,毕竟问题是100%是我试图用来调用我的应用程序扩展的语言。

谁知道这不会起作用,"Appname,将培根添加到列表中“,但这将是:”在AppName中将培根添加到列表中“。如果您以应用程序名称开头,提醒会捕获它并将其放入提醒列表中。

我将开始一个关于触发意图的新问题。很抱歉给你造成了混乱。

票数 2
EN

Stack Overflow用户

发布于 2021-04-12 17:05:43

我也有同样的问题,它是通过重启我的物理设备来修复的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59307727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档