如何知道在我们的快捷方式应用程序中添加了特定快捷方式还是不使用我们的 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 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的颤振应用程序中创建 android 固定的聊天快捷方式?

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

如何在桌面建立资源管理器的快捷方式图标

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

Android 应用程序未从快捷方式启动

如何在Android模拟器中将应用程序的快捷方式添加到主屏幕