未检测到iOS App URL
我为我的iOS应用程序创建了一个自定义应用程序URL。 URL格式与此类似:
myappname://texttobeparsed
当我在Safari中粘贴URL时,这可以正常工作,我的应用程序打开并正确处理URL。 问题是其他应用程序(如iMessage或Notes)无法将其识别为URL。
为什么这个URL方案不被识别为URL ? 它可能与我在info.plist文件中设置的方式有关吗?
或者,URL是否需要采用不同的格式才能识别?
我知道系统可以将其识别为网络浏览器以外的应用程序中的URL,因为我之前已经看过其他应用程序(例如iTunes: itms://itunes.com/apps/appname
或Twitter: twitter://
或Facebook: fb://
)。
你无能为力。 如果链接不明确(例如在HTML电子邮件中),这些应用程序可以识别内置的一组标准URL方案。 itms://
是Apple自己的一个方案(对于iTunes Store),所以除了标准的mailto://
, http://
, tel://
… scheme之外,它还是有意义的。
编辑:我猜想用于确定文本视图中有效URL的构成的信息是以某种方式缓存的。 与我最初猜测的相反,似乎特定于应用程序的URL在Notes等中工作。我用tweetbot://
测试了这个例子(我已安装)和twitter://
(我没有已安装)validation它不仅检查像*://
这样的模式,而是实际使用有关已安装应用程序的信息。
我建议您尝试重启设备。 如果这是一个缓存的问题,这可能会有所帮助,如果您的URL方案已经在Safari中运行,我认为还有很多其他事情可以做。
更新:我已经安装了正式的Twitter应用程序来测试这个,在Notes中没有立即识别twitter://
方案,但在杀死并重新启动Notes应用程序之后,它起作用了。
更新2:我使用myappname://
作为自定义URL方案完成了一个最小测试应用程序。 再次,与Twitter应用程序一样,它在重新启动Notes应用程序后起作用,因此它似乎与应用程序的受欢迎程度无关或是否已提交。
我无法回答为什么它不起作用(除了猜测链接解释器是硬编码的,只能识别某些URL方案),但我可以说,典型的方法是链接到一个网页,并且网页重定向到您的自定义方案。
它稍微不那么优雅,因为用户会在转发到您的应用程序之前看到Safari短暂打开,但它也更强大,因为如果用户没有安装应用程序,网页可以提供指向应用程序商店的链接以安装应用程序电话。