如何使用 Swift 应用程序中的自定义 URL 打开另一个 Swift 应用程序



我为 Swift 应用程序设置了一个自定义 URL。我想在另一个应用的按钮操作中使用此 URL 进行深层链接。我试过UIApplication.shared.open(NSURL(string: "redirectToApp://Testapp/startPage")! as URL, options: [:], completionHandler: nil)但是,它不起作用。有什么建议吗?

更新:

redirectToApp://Testapp/startPage从 Safari 浏览器打开应用程序。

谢谢!

确保编写带有错误检查/处理的代码,以便找出不起作用的内容。

像这样尝试:

    if let url = URL(string: "redirectToApp://Testapp/startPage")
    {
        if UIApplication.shared.canOpenURL(url)
        {
            UIApplication.shared.open(url, options: [:], completionHandler: {
                (success) in
                if (success)
                {
                    print("OPENED (url): (success)")
                }
                else
                {
                    print("FAILED to open (url)")
                }
            })
        }
        else
        {
            print("CANNOT open (url)")
        }
    }

首先,你不应该在 Swift3 中使用 NSURL,你应该使用原生的 Swift 版本,URL。在iOS9+上,您还必须将LSApplicationQueryScheme条目添加到Info.plist文件中,以便能够使用深层链接打开应用程序。

例如,如果您想打开优步应用,您必须执行以下操作: 从代码UIApplication.shared.open(URL(string: "uber://)!).并将以下行添加到 Info.plist 文件中:

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>uber</string>
</array>

相关内容

  • 没有找到相关文章