ios 11 sms app param不起作用

时间:2017-11-07 17:24:35

标签: ios iphone sms

<html>
<body>
  <a href="sms:+24321&body=This%20is%20the%20body">Click Me!</a>
</body>
</html>

单击上面的链接后,iOS会成功打开本机iOS Messages应用程序。如果用户以前在手机的后台打开iOS消息应用程序,那么iOS会正确传入链接中包含的查询参数,例如to:(24321)and body :(这是正文),但如果用户尚未打开iOS消息,则iOS会打开消息,但不会打开消息并填写正文。

这不是iOS 10上的问题,似乎已经在iOS 11中引入。

1 个答案:

答案 0 :(得分:2)

这显然是iOS 11的错误。

与openURL相同的错误,使用此代码,如果没有if状态,我们会得到相同的结果:

NSString *sms = @"sms:+1234567890&body=This is sms body.";
NSString *url = [sms stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 11.0)
{
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
}

通过双重调用,首先打开消息应用程序,然后传递正确的参数。

通过双重调用可以正常运行,但它是 BAD 解决方法!

网络代码也应如此。

我只能建议您在this链接向Apple报告错误。

这个答案不是为了赏金,我只想和你分享我的考试。 ;)