如何使用 url 打开 ios 应用程序?
Posted
技术标签:
【中文标题】如何使用 url 打开 ios 应用程序?【英文标题】:How to open ios app using url? 【发布时间】:2016-06-22 08:39:52 【问题描述】:我想使用 URL 方案打开我的 ios 应用程序。我可以使用它打开应用程序。 但我想如果未安装应用程序,则应打开应用程序商店,用户可以在其中下载应用程序。 这可能吗?我该怎么做?
编辑 逐步解释问题:
-
我的收件箱中有一封带有 url 的邮件。
然后我点击 URL
一世。如果应用程序安装在手机中,应用程序将启动。
ii.否则会打开应用商店下载应用。
谢谢
【问题讨论】:
检查答案看看是否有帮助@Vivek Sinha 已经有了答案,请在此处查看此答案:***.com/a/3808757/1447518 Detecting programmatically whether an app is installed on iPhone的可能重复 我想从一个网址打开它,而不是从任何其他应用程序。上面的链接不是我想要的。 你可以在这里找到教程medium.com/@abhimuralidharan/… 【参考方案1】:如果您的应用没有安装在设备中,您可以使用以下代码行打开应用商店:
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://
来避免重定向。
编辑:
如果已安装,请检查从 url 打开应用程序的链接:Universal links 从 Url 打开应用程序。
【讨论】:
我的邮箱里只有一个网址,我想用它打开应用程序(如果已安装)或应用程序商店(如果没有) OP 要求从浏览器而不是他的 APP 中打开 url 你能快点写这个吗【参考方案2】:您所描述的称为延迟深度链接(Deep Linking
是指使用链接打开您的应用程序,甚至直接指向特定内容,Deferred
表示即使应用程序不可用,它也可以工作。 t 先安装)。
不幸的是,在 iOS 或 android 上还没有本地方法可以实现这一点。 URL 方案不起作用,因为如果未安装应用程序,它们总是会失败。 Apple 在 iOS 9 中的新 Universal Links 越来越近了,但您仍然需要处理将用户从您的网站重定向到 App Store
像Branch.io 这样的免费服务(完全披露:我和他们一起工作太棒了)可以为您处理所有这些。下面是文档页面,详细介绍了如何创建您所描述的电子邮件链接:https://dev.branch.io/features/email-campaigns/overview/
【讨论】:
关于如何处理将用户从我们的浏览器重定向到 App Store 链接的任何想法? “我们的浏览器”是指 Safari 吗?如果是这样,您只需重定向到 App Store URL(javascript 或 HTTP 3XX),App Store 就会打开。 理论上,它应该可以在任何支持自定义 URI 方案的浏览器中运行……iOS 上应该是所有这些方案。我从来没有见过这不起作用,但我想这是可能的。【参考方案3】:我通过我的服务器端代码处理它:
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。
【讨论】:
如何避免打开确认对话框?以上是关于如何使用 url 打开 ios 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
如何制作在 Safari for iOS Facebook Messenger 应用程序而不是应用程序内 Web 浏览器中打开的 URL
如何使用 UIApplication.shared.open 在 iOS 上选择性地打开其他应用程序
PhoneGap:如何跳过 inAppBrowser 以使用 Safari 打开 url
如何构造 FCM 推送通知以在 Flutter(Android 和 iOS)的默认系统 Web 浏览器应用中打开指定的 URL