-1

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

    #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]);
}

电话有效,但短信无效,有人可以帮忙吗?

4

2 回答 2

0

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

messageComposer.recipients = [NSArray arrayWithObjects:number,nil];

并且您可以在不按发送按钮的情况下自动发送电子邮件和消息,但在这种情况下,您的应用程序可能会被苹果应用商店拒绝,因为它不在他们的法律程序范围内,因此他们会拒绝您的申请。

你应该检查条件

if([MFMessageComposeViewController canSendText])

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

于 2013-09-04T05:17:40.997 回答
0

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

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

我不确定这是否能解决您的具体问题,因为我只是在关注Apple 的文档

于 2013-09-03T22:27:40.480 回答