Ios 如何在Swift应用程序中使用自定义URL打开另一个Swift应用程序
我为Swift应用程序设置了自定义URL。我想在其他应用程序的按钮操作上使用此URL进行深度链接。我尝试了Ios 如何在Swift应用程序中使用自定义URL打开另一个Swift应用程序,ios,swift3,deep-linking,custom-url,Ios,Swift3,Deep Linking,Custom Url,我为Swift应用程序设置了自定义URL。我想在其他应用程序的按钮操作上使用此URL进行深度链接。我尝试了UIApplication.shared.open(NSURL(字符串:“redirectToApp://Testapp/startPage”)!作为URL,选项:[:],completionHandler:nil),但它不起作用。有什么建议吗 更新: 重定向至app://Testapp/startPage从Safari打开应用程序 谢谢 首先,您不应该在Swift3中使用NSURL,您应该
UIApplication.shared.open(NSURL(字符串:“redirectToApp://Testapp/startPage”)!作为URL,选项:[:],completionHandler:nil)
,但它不起作用。有什么建议吗
更新:
重定向至app://Testapp/startPage
从Safari打开应用程序
谢谢 首先,您不应该在Swift3中使用NSURL,您应该使用本机Swift版本URL。在iOS9+上,您还必须将LSApplicationQueriesSchemes条目添加到Info.plist文件中,以便能够使用深度链接打开应用程序 例如,如果您想打开Uber应用程序,您必须执行以下操作:
UIApplication.shared.open(URL(字符串:“uber://)!)。
从code开始,并将以下行添加到Info.plist文件:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>uber</string>
</array>
LSApplicationQueriesSchemes
优步
确保您编写的代码带有错误检查/处理功能,这样您就可以找出哪些不起作用
试着这样做:
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)")
}
}
“它不起作用了" ... 这是什么意思?你有错误吗?有其他应用程序打开吗?网页打开了吗?什么都没发生吗?你确定你在执行那一行吗?动作什么都不做。根本没有响应。这段代码根本没有执行。我要做的就是重新启动Xcode。可能是因为两个项目同时开工?谢谢您的时间。这段代码根本没有执行。我要做的就是重新启动Xcode。可能是因为两个项目同时开工?谢谢您的时间。这段代码根本没有执行。我要做的就是重新启动Xcode。可能是因为两个项目同时开工?谢谢你抽出时间。