【问题标题】:Schedule sms programmatically with out any user interaction in iPhone以编程方式安排短信,无需在 iPhone 中进行任何用户交互
【发布时间】:2013-05-06 05:25:35
【问题描述】:

我已经知道我们可以选择以编程方式发送短信,即使用 MFMessageComposeViewController,但是否可以将消息安排给指定的收件人。我目前正在使用以下代码发送短信:

Class smsClass = (NSClassFromString(kMessageComposer));

if(smsClass != nil && [MFMessageComposeViewController canSendText])
{
     MFMessageComposeViewController *smsSendController = [[[MFMessageComposeViewController alloc] init] autorelease];
     smsSendController.messageComposeDelegate = self;
     smsSendController.body = messageBodyView.text;
     smsSendController.recipients = [[[NSArray alloc]initWithObjects:numberField.text,nil]autorelease];
     if ([[[UIDevice currentDevice]systemVersion]floatValue] >= 6.0)
     {
         [self presentViewController:smsSendController animated:YES completion:nil];
     }
     else
     {
         [self presentModalViewController:smsSendController animated:YES];   
     }
}

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{    
    switch (result) 
    {
        case MessageComposeResultCancelled:
        {
            UIAlertView *smsCancelledAlert = [[UIAlertView alloc] initWithTitle:kApp message:kCancel
                                                           delegate:self cancelButtonTitle:kOk otherButtonTitles: nil];
            [smsCancelledAlert show];
            [smsCancelledAlert release];
        }
            break;
        case MessageComposeResultFailed:
        {
            UIAlertView *smsFailedAlert = [[UIAlertView alloc] initWithTitle:kApp message:kError
                                                           delegate:self cancelButtonTitle:kOk otherButtonTitles: nil];
            [smsFailedAlert show];
            [smsFailedAlert release];
        }
            break;
        case MessageComposeResultSent:
        {
            UIAlertView *smsSentAlert = [[UIAlertView alloc]initWithTitle:kApp message:kSent delegate:self cancelButtonTitle:kOk otherButtonTitles:nil, nil];
            [smsSentAlert show];
            [smsSentAlert release]; 
        }
            break;

        default:
            break;
    }
    if ([[[UIDevice currentDevice]systemVersion]floatValue] >= 6.0)
    {
        [self dismissViewControllerAnimated:YES completion:nil];
    }
    else
    {
        [self dismissModalViewControllerAnimated:YES];
    }
}

我还想知道这段代码是否在 4.3 以上的所有版本中都能完美运行,直到 6.0 为止。截至目前,我没有可用的设备来测试它。所以需要一些经历过这段代码工作/失败的人的答案。

除此之外,我还想安排消息,即用户指定的日期和时间,并且该进程应该在后台运行而无需任何用户交互。

如何做到这一点?

【问题讨论】:

    标签: iphone sms schedule mfmessagecomposeview


    【解决方案1】:

    使用MFMessageComposerViewController,没有用户交互就无法发送。

    您可以考虑为短信网关创建自定义 Web 服务来实现此目的

    【讨论】:

    • 我该怎么做,是否可以在 MFMessageComposeViewController 中安排短信
    • 对不起,这里用 NSTimer 做什么,它只是设置时间间隔,而不是日期和时间,我如何将它与 MFMessageComposeViewController 联系起来
    • 我很抱歉 Lithu T.V,它实际上与 NSTimer 一起工作,我的意思是最初我没有想到将 NSDate 转换为 NSTimer,以便我可以在 NSTimer 调度方法中分配它,无论如何谢谢.你能告诉我一些关于自定义 web 服务到 sms 网关的信息吗,谢谢 :)
    • fine :) 关于网络服务,您应该创建一个网络服务,该服务接受输入的手机号码和消息并将其提供给服务器,并在服务器端创建一个接口以将消息发送到该手机号码
    猜你喜欢
    • 2012-07-09
    • 2011-05-20
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    • 2011-04-15
    • 1970-01-01
    • 2010-09-05
    相关资源
    最近更新 更多