如果删除快捷方式应用程序,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程序的方法说明(生成安装包,实现桌面快捷方式删除快捷方式)