设备:iPhone 5/iOS 9.3
我有一个iOS应用程序,需要从网站启动。我可以通过自定义URL方案来实现。
当我点击网站中的">打开应用程序"按钮时,会出现一个警告对话框,上面写着">Safari想要打开我的应用程序,并点击OK和amp;取消按钮。
单击"确定":一切都很好。该应用程序完美地从网站上启动。
单击取消:第一次,它只是取消阻止应用程序启动,这是正确的。
当我再次从网站上点击">打开应用程序"按钮时,我预计同样的"Safari想要启动MyApp"警报对话框将再次出现,但这并没有发生
相反,它显示一个对话框,其中显示">无法打开页面-Safari无法打开页面,因为地址无效",并带有"确定"按钮。
我的假设是,每次你点击网站中的链接(可以通过自定义url方案启动应用程序(时,我都会一直收到"safari想要打开MyApp"的提示对话框。
我在这里错过了什么?提前感谢你的帮助。
这是一种已知的行为。
如果点击facebook://feeds
:
打开它,Safari就不会将Safari选项卡的facebook
方案列入黑名单。您可以在选项卡上打开facebook://profile
、facebook://feeds
、facebook://settings
等
但是,如果您单击"取消",则您将无法再为该选项卡使用该方案的任何url,即您将无法打开facebook://profile
,因为它已被该选项卡列入黑名单。
你该怎么办
打开一个新选项卡,然后重试。它将不再被列入该标签的黑名单。
不过,如果苹果向用户提示以下选项,情况会好得多:
拒绝一次。始终拒绝。始终允许
但我猜,如果他们这样做了,那么他们就必须为用户提供其他方式来定制每个主机/方案的行为。显然,苹果不想允许这种情况发生。
我在代码中使用Google Tag Manager时遇到了同样的问题。尝试使用javascript事件打开应用程序,而不是使用标记a的href。
我得到了一个类似的错误,通过允许"安装应用程序"在限制(设置->常规->限制(中,启用切换按钮来修复它。它在默认情况下是启用的,但我过去通过禁用切换按钮来限制它。
希望这能帮助到任何人。
我刚刚在iphone上解决了同样的问题。前往设置>常规>限制>Safari。确保它是"允许的"或已打开(滑动到绿色(。退出设置,然后重试。它应该起作用。