如何用标准按钮实现ShortcutLinks(action:)的App快捷指令文件夹跳转?
如何通过深度链接复现
ShortcutLinks(action:)打开应用专属快捷指令文件夹的效果? 你需要使用苹果官方公开的专属深度链接,才能直接跳转至指定应用的快捷指令文件夹,和ShortcutLinks(action:)的效果完全一致,具体实现如下:
核心解决方案
应用专属快捷指令文件夹无法通过快捷指令名称访问,必须通过应用Bundle ID定位,对应的深度链接格式为:
shortcuts://open-app-shortcuts?bundleID=你的应用BundleID
SwiftUI Button示例代码
Button { guard let appBundleID = Bundle.main.bundleIdentifier, let shortcutURL = URL(string: "shortcuts://open-app-shortcuts?bundleID=\(appBundleID)") else { // 处理Bundle ID获取失败或URL无效的情况 return } UIApplication.shared.open(shortcutURL) } label: { Text("打开应用专属快捷指令") }
注意事项
- 确保你的应用已经通过
AppShortcutsProvider协议正确配置了应用专属快捷指令,否则该链接会跳转至快捷指令App首页,或提示无对应内容。 - 你之前尝试的
shortcuts://shortcuts/xxx类路径均不适用,因为应用专属快捷指令的文件夹不属于快捷指令顶层目录,无法通过名称直接定位。
内容的提问来源于stack exchange,提问作者Ronald
相关产品推荐
相关产品推荐

