如果删除快捷方式应用程序,INUIAddVoiceShortcutButton 将不起作用

Posted

技术标签:

【中文标题】如果删除快捷方式应用程序,INUIAddVoiceShortcutButton 将不起作用【英文标题】:INUIAddVoiceShortcutButton doesn't work if Shortcuts App is deleted 【发布时间】:2020-10-13 21:17:32 【问题描述】:

我添加了一个INUIAddVoiceShortcutButton,它工作正常,但是当我删除快捷方式应用程序时它停止工作。代表仍然返回快捷方式成功,但按钮不会更改以反映快捷方式已添加。我发现我必须重新安装快捷方式应用并重新启动手机才能返回功能。

有没有办法确定 Ahortcuts 应用程序是否已安装?有什么遗漏吗?

我还使用 Apple 的演示 Soup Chef 应用程序对此进行了测试。

【问题讨论】:

也许您可以检查一下您是否canOpen 快捷方式URL 方案? support.apple.com/en-au/guide/shortcuts/apd624386f42/ios @Paulw11 我会试试看,但它似乎是一个 Apple 错误,因为它成功表示已添加快捷方式,但它只是不起作用。再次添加它不会显示编辑视图,并说已经存在同名的快捷方式。 【参考方案1】:

我发现最好的方法是调用 INVoiceShortcutCenter.shared.getAllVoiceShortcuts 返回错误:

Optional(
    Error Domain=IntentsErrorDomain
    Code=7001 "Failed to get voice shortcuts"
    UserInfo=
        NSDebugDescription=Failed to get voice shortcuts,
        NSUnderlyingError=0x283c42910
        
            Error Domain=VCVoiceShortcutsErrorDomain
            Code=1004
            "Shortcuts app is not installed"
            UserInfo=NSLocalizedFailureReason=Shortcuts app is not installed
        
    
)

添加快捷方式后返回 nil:

func addVoiceShortcutViewController(_ controller: INUIAddVoiceShortcutViewController, didFinishWith voiceShortcut: INVoiceShortcut?, error: Error?) 
    INVoiceShortcutCenter.shared.getVoiceShortcut(with: voiceShortcut!.identifier)  (shortcut, error) in
        print("\(String(describing: shortcut))") // nil
        print("\(error.debugDescription)") // nil
    

【讨论】:

以上是关于如果删除快捷方式应用程序,INUIAddVoiceShortcutButton 将不起作用的主要内容,如果未能解决你的问题,请参考以下文章

cxfreeze打包python程序的方法说明(生成安装包,实现桌面快捷方式删除快捷方式)

如何在 Swift 中删除添加的快捷方式?

我的应用程序如何打开 Siri 快捷方式记录短语视图

如何通过 Innosetup 删除桌面快捷方式

[转]NSIS 制作安装包无法创建桌面快捷方式或无法删除开始菜单项

ubuntu 彻底删除wine 及 残留的快捷方式