当我尝试从网站启动应用时"Safari cannot open the page because the address is invalid"显示消息



设备:iPhone 5/iOS 9.3

我有一个iOS应用程序,需要从网站启动。我可以通过自定义URL方案来实现。

当我点击网站中的">打开应用程序"按钮时,会出现一个警告对话框,上面写着">Safari想要打开我的应用程序,并点击OK和amp;取消按钮。

单击"确定":一切都很好。该应用程序完美地从网站上启动。

单击取消:第一次,它只是取消阻止应用程序启动,这是正确的。

当我再次从网站上点击">打开应用程序"按钮时,我预计同样的"Safari想要启动MyApp"警报对话框将再次出现,但这并没有发生

相反,它显示一个对话框,其中显示">无法打开页面-Safari无法打开页面,因为地址无效",并带有"确定"按钮。

我的假设是,每次你点击网站中的链接(可以通过自定义url方案启动应用程序(时,我都会一直收到"safari想要打开MyApp"的提示对话框。

我在这里错过了什么?提前感谢你的帮助。

这是一种已知的行为。

如果点击facebook://feeds:

打开它,Safari就不会将Safari选项卡facebook方案列入黑名单。您可以在选项卡上打开facebook://profilefacebook://feedsfacebook://settings

但是,如果您单击"取消",则您将无法再为该选项卡使用该方案的任何url,即您将无法打开facebook://profile,因为它已被该选项卡列入黑名单。

你该怎么办

打开一个新选项卡,然后重试。它将不再被列入该标签的黑名单。

不过,如果苹果向用户提示以下选项,情况会好得多:

拒绝一次。始终拒绝。始终允许

但我猜,如果他们这样做了,那么他们就必须为用户提供其他方式来定制每个主机/方案的行为。显然,苹果不想允许这种情况发生。

我在代码中使用Google Tag Manager时遇到了同样的问题。尝试使用javascript事件打开应用程序,而不是使用标记a的href。

我得到了一个类似的错误,通过允许"安装应用程序"在限制(设置->常规->限制(中,启用切换按钮来修复它。它在默认情况下是启用的,但我过去通过禁用切换按钮来限制它。

希望这能帮助到任何人。

我刚刚在iphone上解决了同样的问题。前往设置>常规>限制>Safari。确保它是"允许的"或已打开(滑动到绿色(。退出设置,然后重试。它应该起作用。

相关内容

最新更新