我有一个发送短信然后拨打动态电话号码的应用程序,这里是代码:
#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]);
}
电话有效,但不是短信,任何人都可以帮忙吗?
答案 0 :(得分:0)
首先检查您的设备是否可以通过以下方式发送短信:
if ( [MFMessageComposeViewController canSendText] ) {
// build your text message like you posted
}
else {
// handle appropriately
// no point in trying to display the compose view controller
}
这是否解决了您的具体问题,我不确定,因为我只是关注Apple's docs。
答案 1 :(得分:0)
只需在您的方法中替换此行,您就可以发送动态消息
messageComposer.recipients = [NSArray arrayWithObjects:number,nil];
并且您可以自动发送电子邮件和消息而无需按下发送按钮,但在这种情况下,有可能会拒绝您的应用程序从Apple应用程序商店,因为它不在他们的法律程序之下,因此他们将拒绝您的应用程序。 / p>
你应该检查条件
if([MFMessageComposeViewController canSendText])
否则,在iPad和iPod中,您的应用程序可能会崩溃。