如何使用url打开iOS应用程序?

我想打开我的iOS应用程序使用URLscheme。 我可以使用这个打开应用程序。 但我想如果没有安装应用程序,那么应用程序商店应该打开,用户可以下载应用程序。 这可能吗? 我怎样才能做到这一点?

编辑解释问题的步骤:

  1. 我在收件箱中收到一封邮件。
  2. 我点击URL然后我。 如果应用程序安装在手机中,应用程序将启动。 II。 否则,应用程序商店将被打开下载应用程序。

谢谢

我通过我的服务器端代码处理它:

if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) { location.replace("com.myapp://"); setTimeout(function() { if (!document.webkitHidden) { location.replace("https://itunes.apple.com/app/xxxxxxxx"); } }, 25);} else if ((navigator.userAgent.match(/android/i)) || (navigator.userAgent.match(/Android/i))) { location.replace("https://play.google.com/store/apps/details?id=packagename&hl=en");} else { location.replace("http://www.example.com");} 

我把它放在我的www.mysite.com/download页面,通过广告系列分享这个url。

您所描述的内容称为“延期深入链接”(Deep Linking)( Deep Linking是指使用链接打开您的应用程序,甚至直接发送到特定内容, Deferred表示即使应用程序未先安装也能正常工作)。

不幸的是,在iOS或Android上都没有原生的方法来实现这一点。 URLscheme不起作用,因为如果应用程序未安装,它们总是失败。 苹果公司新推出的Universal Links在iOS 9中距离更近,但是你仍然需要把用户从你的网站redirect到App Store

像Branch.io这样的免费服务(完全披露:他们是如此棒的我与他们合作)可以为你处理所有这些。 以下是文档页面,介绍如何创build您所描述的电子邮件链接: https : //dev.branch.io/features/email-campaigns/overview/

如果您的应用程序未安装在设备上,则可以使用以下代码行打开应用程序商店:

 NSString *iTunesUrlofApp = @"itms://itunes.apple.com/us/app/apple-store/..."; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesUrlofApp]]; 

尝试下面的代码:

 if([[UIApplication sharedApplication] canOpenURL:url]){ // Means your app is installed, and it can be open [[UIApplication sharedApplication] openURL:url]; } else{ //Your app is not installed so, Open app store with your apps iTunes Url NSString *iTunesUrlofApp = @"itms://itunes.apple.com/us/app/apple-store/..."; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesUrlofApp]]; } 

在iOS 5之后,您也可以使用https://来避免redirect。

编辑:

检查链接打开从URL的应用程序,如果安装: 通用链接从Url打开应用程序。