如何知道在我们的快捷方式应用程序中添加了特定快捷方式还是不使用我们的 iOS 应用程序?
Posted
技术标签:
【中文标题】如何知道在我们的快捷方式应用程序中添加了特定快捷方式还是不使用我们的 iOS 应用程序?【英文标题】:How to know particular shortcut is added in our shortcuts app or not using our iOS app? 【发布时间】:2020-03-16 11:43:34 【问题描述】:我使用下面代码给出的 x-callback url 运行快捷方式:
let url = URL(string: "shortcuts://x-callback-url/run-shortcut?name=Airplane&x-success=shortcutsdemo://")
UIApplication.shared.open(url!, options: [:], completionHandler: nil)
当我打开 UIApplication.shared.open
中的 URL 时,它会运行快捷方式,完成后返回到我们的 ios 应用程序。
我的问题是,如果我的快捷方式没有添加到快捷方式应用中,我该如何管理?
有什么方法可以先在快捷方式应用中找到我们的快捷方式是否添加,然后我们运行快捷方式。
喜欢:
if (Shortcut.isInstalled)
let url = URL(string: "shortcuts://x-callback-url/run-shortcut?name=Airplane&x-success=shortcutsdemo://")
UIApplication.shared.open(url!, options: [:], completionHandler: nil)
else
print("Not installed")
总结: 如果快捷方式被添加到我们的快捷方式应用程序中,那么它将使用我们的 iOS 应用程序运行快捷方式。否则它不会运行。并为该快捷方式提供错误。
【问题讨论】:
我们的快捷方式应用程序中安装了您所使用的快捷方式?我猜你是在混合 Shortcuts 和 url-scheme 之间的概念 我想知道快捷方式是否安装在我们的快捷方式应用中? 【参考方案1】:我认为你需要使用func canOpenURL(_ url: URL) -> Bool
let url = URL(string: "shortcuts://x-callback-url/run-shortcut?name=Airplane&x-success=shortcutsdemo://")
if UIApplication.shared.canOpenURL(ur!l)
print("Short uts is installed")
else
print("Shortcuts not installed")
我不是 100% 确定,但我认为如果您没有应用商店,它会自动将您重定向到应用商店,请检查一下。
【讨论】:
它检查快捷方式应用程序是否安装在 iPhone 中。我想知道快捷方式应用中是否添加了特定快捷方式。以上是关于如何知道在我们的快捷方式应用程序中添加了特定快捷方式还是不使用我们的 iOS 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章