在ios中以编程方式启动带有深度链接的应用程序

在ios中以编程方式启动带有深度链接的应用程序,ios,swift,Ios,Swift,我想在swift中以编程方式打开iChangi应用程序和FlightRadar24。任何人都可以帮我。提前感谢。您需要获取目标应用程序使用的CbundleUrlSchemes 对于iChangi,它的“ichangi2” FlightRadar24的“fr24” 然后,您需要将url方案添加到plist中: <key>LSApplicationQueriesSchemes</key> <array> <string>ichangi2<

我想在swift中以编程方式打开iChangi应用程序和FlightRadar24。任何人都可以帮我。提前感谢。

您需要获取目标应用程序使用的CbundleUrlSchemes

对于iChangi,它的“ichangi2”

FlightRadar24的“fr24”

然后,您需要将url方案添加到plist中:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>ichangi2</string>
    <string>fr24</string>
</array>

尝试检查:是的,其他应用程序(FlightAware)可以通过该应用程序名称像那样打开,因为这两个应用程序无法打开。您尝试打开的其他应用程序未配置为可以从其他应用程序打开的方式(未配置URL方案),或者您使用的URL不正确。
如果UIApplication.shared.canOpenURL(URL){UIApplication.shared.open(url,选项:[:],completionHandler:nil)}else{}
在上面的代码中,canOpenURL返回true并运行下面的行,但应用程序并没有实际启动。url方案与应用程序的名称不同?可能不同?我如何查看应用程序的url架构。谢谢
guard let url = URL(string: "ichangi2://") else { return }
if UIApplication.shared.canOpenURL(url) {
    UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
    UIApplication.shared.open(URL(string: "https://www.changiairport.com/")!, options: [:], completionHandler: nil)
}