我试图在iOS 11.0开发者预览版上调用以下网址:
<html>
<body>
<a href="sms:+24321&body=This%20is%20the%20body">Click Me!</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
单击上面的链接时,iOS会成功打开本机iOS消息应用程序.如果用户以前在手机的后台打开了iOS消息应用程序,则iOS会正确传递链接中包含的查询参数,例如to:(24321)和body:(这是正文),但如果用户尚未拥有iOS消息打开,然后iOS打开消息,但不打开消息to并body填写.
这不是iOS 10上的问题,似乎已经在iOS 11中引入.
我在一个平台上工作,通过短信从企业向用户发送短信(例如,电子商务公司向用户宣布新的销售发送短信,消息包含到电子商务公司网站的缩短链接).
当用户点击文本消息中的链接时,我们会记录用户设备的用户代理.我们还能够检测点击是否重复,因为我们发送每个用户的唯一链接.在查看用户代理的重复点击次数时,以下用户代理显示在每个已发送消息的顶部(它是最大的违规者数量级):
Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0
这很令人困惑,因为此用户代理似乎是非移动的.有没有人更多地了解这个特定的用户代理,以及它是否以某种我缺少的方式在移动设备上呈现?
在iOS 11.2.*中,任何包含$和/或单词"dollar/s"的消息正文发送的消息以及消息正文中的链接都会呈现链接不可点击.
例如,查看此链接只需 50美元:http://www.example.com
例如,点击此链接可获得50美元的折扣:http://www.example.com
在上面的示例中,邮件正文将完全传递,但链接将无法在iMessage中单击.见下面的截图:
奇怪的是,如果您使用双美元符号($$),或美元符号后跟一个字母字符(例如$ a)或拼写错误的美元(例如dollarz),则问题不存在,即链接完全可点击.例如,尽管包含$/dollar,这些消息仍会正确显示链接:
查看此链接可获得$ 50折扣:http ://www.example.com
查看此链接以获取$ a off:http ://www.example.com
查看此链接以获取5美元折扣:http:// www .example.com的
这个问题在未来的iOS版本中似乎没有修复 - 我刚刚在2018年1月4日的11.2.5上测试过.
我的预感是,这个错误与Apple将Apple Pay集成到iMessage有关,他们可能正在解析货币关键字以建议通过Apple Pay付款.有谁知道任何变通方法?