如何将url方案用于未安装在设备中的应用程序

时间:2016-12-26 10:19:36

标签: ios objective-c iphone url-scheme

我在商店中有一个应用程序,它允许在第一个视图中显示项目列表,在第二个视图中显示项目的详细信息。

我使用url方案从外部源(Facebook for example)访问项目的详细信息

我的问题:如果设备中没有安装应用程序,是否有任何方法可以下载应用程序并在正确的项目中打开它(使用网址方案)

提前感谢

3 个答案:

答案 0 :(得分:1)

适用于iOS> 9

if ([[UIApplication sharedApplication] openURL:SchemaURL] == false)
{
   [[UIApplication sharedApplication] openURL:iTunesAppURL];
}

答案 1 :(得分:1)

您所描述的内容称为延迟深层链接Deep Linking是指使用链接直接向特定内容打开您的应用,{{1} }表示即使首先安装了应用程序也能正常工作。

不幸的是,无论是iOS还是Android,都没有本地方法可以做到这一点。 URL方案无法正常工作,因为如果未安装该应用,始终会失败并显示错误。 iOS 9+中Apple的较新版Universal Links越来越接近,如果没有安装该应用,他们至少不会触发错误,但是你&# 39; d仍然需要处理用户从您的网站重定向到App Store。使用Universal Links安装后,您无法将上下文传递到应用,因​​此您无法将用户发送到正确的项目,并且实际上他们不受支持in a lot of places

要使其工作,您需要一个远程服务器来关闭循环。你可以build this yourself,但你真的不应该出于很多原因,其中最重要的是你有更重要的事情要做。像Branch.io这样的免费服务(完全披露:他们与我们合作非常棒)或Firebase动态链接可以为您处理所有这些。

答案 2 :(得分:0)

首先查询URLScheme并了解应用程序的状态,无论它是否已安装。如果没有安装,请给他/她一个弹出窗口,从app store安装该应用程序。当您从警报点击确定时,您可以将用户导航到应用商店链接。