Iphone 向动态电话号码发送短信

Iphone 向动态电话号码发送短信,iphone,objective-c,sms,Iphone,Objective C,Sms,我有一个应用程序,可以发送短信,然后拨打动态电话号码,代码如下: #pragma mark - PictureListMainTableCellDelegate methods -(void)pictureListMainTableCell:(PictureListMainTableCell *)cell wantsToCallNumber:(NSString *)number { MFMessageComposeViewController *messageComposer

我有一个应用程序,可以发送短信,然后拨打动态电话号码,代码如下:

    #pragma mark - PictureListMainTableCellDelegate methods
-(void)pictureListMainTableCell:(PictureListMainTableCell *)cell wantsToCallNumber:(NSString *)number
{

    MFMessageComposeViewController *messageComposer =
    [[MFMessageComposeViewController alloc] init];
    NSString *message = @"Your Message here";
    [messageComposer setBody:message];
    messageComposer.recipients = [NSArray arrayWithObjects:@"0003233",        nil];
    messageComposer.messageComposeDelegate = self;
    [self presentViewController:messageComposer animated:YES completion:nil];
    NSLog(@"Texting telephone number [%@]", messageComposer);

    NSString *urlString = [NSString stringWithFormat:@"tel://%@", number];
    NSLog(@"calling telephone number [%@]", number);
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
    NSLog(@"%@", [self deviceLocation]);
}

有人能帮忙吗?电话能用,短信不能用

首先检查您的设备是否可以通过以下方式发送短信:

if ( [MFMessageComposeViewController canSendText] ) {
    // build your text message like you posted
}
else {
    // handle appropriately
    // no point in trying to display the compose view controller
}

这是否解决了您的特定问题,我不确定,因为我只是在关注这一点。

只要在您的方法中替换这一行,您就可以发送动态消息

messageComposer.recipients = [NSArray arrayWithObjects:number,nil];
您可以不按发送按钮自动发送电子邮件和消息,但在这种情况下,您的应用可能会被苹果应用商店拒绝,因为它不在他们的法律程序中,所以他们会拒绝您的应用

你应该检查一下情况

if([MFMessageComposeViewController canSendText])

否则,在iPad和iPod中,您的应用程序可能会崩溃。

是否正在某处检查
canSendText
?不,我不是在检查我发布的链接是否直接指向该方法。好的,谢谢,如果设备不能,会发生什么?谢谢,现在一切正常,但当用户按下按钮时,短信不会自动发送;您必须按“发送”按钮,是否有自动发送的方法?@idssurrrr根据文档,否。用户必须自愿发送短信。