<html> <body> <a href="sms:+24321&body=This%20is%20the%20body">Click Me!</a> </body> </html>@H_403_4@单击上面的链接时,iOS会成功打开本机iOS Messages应用程序.如果用户以前在手机的后台打开了iOS消息应用程序,那么iOS会正确传入链接中包含的查询参数,例如to:(24321)and body :(这是正文),但如果用户尚未打开iOS消息,则iOS会打开消息,但不会打开消息并填写正文. @H_403_4@这在iOS 10上不是问题,似乎已在iOS 11中引入.
解决方法
这显然是一个iOS 11的bug.
@H_403_4@与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]]; }@H_403_4@通过双重调用,它首先打开消息应用程序,然后传递正确的参数. @H_403_4@通过双重调用它可以工作但它是一个不好的解决方法! @H_403_4@Web代码也应该这样. @H_403_4@我只能建议您在this链接向Apple报告错误. @H_403_4@这个答案不是为了赏金,我只想和你分享我的考试.