我正在尝试让用户通过短信发送电话验证文字。他们第一次尝试将消息发送到数字时,看起来消息通过,我们得到MessageComposeResultSent的回调。但是,实际上没有消息排队或发送。看看iMessage,列表顶部有一个电话号码记录,但没有消息,只是一个空白屏幕。如果再次尝试将SMS发送到相同的号码,则会通过。实现看起来很简单,所以不确定这是一个错误还是我做错了什么。
这是我们的代码:
MFController = [[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText])
{
self.MFController.body = [NSString stringWithFormat:@"Please send this message to verify your phone number.\n\n(%@)",token];
self.MFController.recipients = [NSArray arrayWithObject:@"+PHONENUMBER"];
self.MFController.messageComposeDelegate = self;
[self presentViewController:MFController animated:YES completion:nil];
}
我尝试直接在方法中声明MFController,作为一个强大的属性。我也尝试在ViewDidLoad中初始化MFController无济于事。
更新:我并不孤单。关于Apple Dev Forum的最新帖子。如果有人有创意解决方案,请发帖!
此外,重新启动手机似乎解决了大多数用户的问题,但我们无法处理发送失败,因为我们收到了MessageComposeResultSent结果。
答案 0 :(得分:0)
你是否符合代表的要求?
如果您将实例创建为属性,则可以通过self访问它,
self.MFController = [[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText])
{
self.MFController.body = [NSString stringWithFormat:@"Please send this message to verify your phone number.\n\n(%@)",token];
self.MFController.recipients = [NSArray arrayWithObject:@"+PHONENUMBER"];
self.MFController.messageComposeDelegate = self;
[self presentViewController:self.
MFController animated:YES completion:nil];
}
让我知道它是否有效。