在iPhone 4 iOS 5.0中,短信应用程序无法将自定义URL方案识别为链接。

25

简述:

我在我的应用程序中定义了一个格式为“myapp://..”的自定义URL。但是,当它出现在短信中时,该URL不被识别为链接。因此用户无法轻松点击并启动应用程序。相反,他必须将其复制并粘贴到浏览器中。这仅发生在iPhone4(iOS v5.0)中。

重现步骤:

通过在info.plist中指定新的URL方案来为应用程序定义自定义URL。向iPhone4(iOS v5.0)发送带有应用程序自定义URL的短信。打开短信。

预期结果:

该URL必须在短信中显示为链接。

实际结果:

该URL在那里显示为纯文本而不是链接。

回归测试:

在升级到iOS 5之前,在同一台iPhone4(iOS版本4.3)上,URL始终显示为链接。

备注:

有趣的一面是,如果我将消息从同一部iPhone转发到本身,在发送的短信和新接收到的短信中,该URL将显示为链接。


5
你考虑过向苹果报告这个错误吗?除非有解决方法,否则我认为在这里没人能帮你。 - djromero
有相同的问题,有人有解决方案吗? - beryllium
2
这仅限于传入的短信消息。在iOS5中,当链接以传入电子邮件的形式接收时,它可以正常工作。 - Wasauce
经过进一步的审查,似乎Facebook自定义URL(例如fb:// profile)在短信中可以使用 - 总是有效。有人对为什么Facebook自定义URL有效而我们的不起作用有更深入的了解吗? - Wasauce
1
这是iOS 5中的一个错误。URL解析器有时有效,有时无效。向苹果提交错误报告,他们最终会修复它。经过广泛测试,我发现这个错误有时甚至会出现在http://链接中。 - Greg
显示剩余2条评论
4个回答

2

检查您是否使用了大写/混合方案(如MyApp://...),而不是全小写的方案(myapp://...)。在iOS 5下,如果您尝试在自定义URL方案中使用大写字母,操作系统将无法识别并抛出异常。如果这仍然无效,那么几乎肯定是短信代码中存在错误,此时您应该提交一个bug报告。请告诉我这是否有效。


1
你能接受这些答案中的一个或者说它们都不起作用吗? - Dylan Gattey
1
我已经尝试过了,但还是不起作用。无论如何,正如你所说,我会将其作为错误报告给苹果公司。 - DroidHeaven
我也试过了,但在 iPhone 7 Beta 4 上测试。不过我没有在旧版的 iOS 上测试过 :( - silverchair

2
似乎短信网址解析器无法聪明地确定您的网址是用于应用程序的 - 我的建议是使用基于http://的网址,然后将其重定向到您应用的网址。这将允许您向不是iPhone用户显示消息,并且还允许您注册短信链接单击的所有内容,除此之外还适用于iOS 5。

1

iOS 5.0.1版本可以正常工作,但在链接前应添加一些任意文本。


这个URL: 'custom://magsw.com?x=movie.mp4' 需要在前面加上空格才能显示为超链接。而'custom://movie.mp4'则不需要。 - drfence

0

重新启动您的手机将解决此问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接