是否可以从原始文本消息应用程序以外的iPhone应用程序自动发送SMS?

时间:2012-01-21 17:06:59

标签: iphone objective-c

使用SDK / Cocoa Touch,制作一个能自动发送短信的应用是否可行? 我的目标不是向任何人提出警告。

3 个答案:

答案 0 :(得分:5)

这是不可能的,正是由于你提到的原因:它会使垃圾邮件成为可能。

答案 1 :(得分:3)

您需要一个能够为您处理SMS的服务器,以及一个用于与该服务器交互的应用程序的API。您的应用无法直接通过手机发送消息,但您当然可以让您的应用与外部服务进行交互,以便为您发送消息。

答案 2 :(得分:2)

三种是使用MFMessageComposeViewController预建SMS的方法。此方法的唯一问题是将向用户显示模式视图以接受SMS(如以默认方式发送电子邮件的窗口)。没有越狱,就无法以“静音模式”发送短信。

{    
...
[self sendSMS:@"_SMS_TEXT_" recipientList:[NSArray arrayWithObjects:@"PHONE_NUMBER", nil]];
...
}

- (void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSArray *)recipients
{
    MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];
    if([MFMessageComposeViewController canSendText])
    {
        controller.body = bodyOfMessage;    
        controller.recipients = recipients;
        controller.messageComposeDelegate = self;
        [self presentModalViewController:controller animated:YES];
    }    
}

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
    [self dismissModalViewControllerAnimated:YES];

    if (result == MessageComposeResultCancelled)
        NSLog(@"Message cancelled")
    else if (result == MessageComposeResultSent)
        NSLog(@"Message sent")  
    else 
        NSLog(@"Message failed")  
}