gpt4 book ai didi

ios - 测试是否有任何应用程序可以在 iOS 上的移动 safari 中处理 url 方案

转载 作者:可可西里 更新时间:2023-11-01 17:10:25 25 4
gpt4 key购买 nike

有什么方法可以测试 iOS 是否可以处理自定义 URL 方案?我有一个应用程序注册了一个自定义 url 方案,以便能够从移动 safari 中的超链接打开该应用程序。但是,我想告诉用户,如果他们没有安装该应用程序,他们需要去应用商店下载该应用程序。

有没有一种聪明的方法来测试 URL 并在它失败时捕获它以及它失败的原因?

最佳答案

这是我能想到的最好的,但它只在 iOS 5 中测试过:

如果您在移动版 Safari 中的链接是 <a href="myapp://path">link text</a> ,将其更改为:<a href="http://mydomain.com/launchapp?location=path">link text</a> ,然后在 /launchapp 的顶部页面,放置一个带有所需 URL 的隐藏 iframe:<iframe src="myapp://path" style="display:none"></iframe> .在页面正文中,填写您需要前往应用商店下载应用的信息。

如果用户拥有该应用程序:他们不会看到 launchapp页面,他们将被无缝地定向到应用程序 url。如果用户没有该应用程序:他们将收到有关“无法加载 URL”的讨厌警告,单击“确定”,然后他们将查看您的“您需要下载应用程序”页面。

更新 - 2013 年 3 月

查看 this comment在相关的SO答案上。显然,如果您的应用尚未安装,您可以使用像这样的方法无缝重定向到 App Store 中的应用(未测试):

// setup fallback (redirect to App Store)
var start = (new Date()).valueOf();
setTimeout(function() {
var end = (new Date()).valueOf();

// prevent App Store redirect upon returning to safari from myapp
if (end - start > 1000) return;

// get a seamless redirect if you use itms://... instead of http://itunes.com/...
window.location = 'itms://my/app/URI';
}, 25);

// Attempt to load my custom url scheme
window.location = 'myapp://my/path'

关于ios - 测试是否有任何应用程序可以在 iOS 上的移动 safari 中处理 url 方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10621131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com