如何以编程方式在iPhone上发送短信?

时间:2020-03-05 18:39:35  来源:igfitidea点击:

有人知道是否有可能以及如何通过官方的SDK / Cocoa Touch通过" iPhone"以编程方式发送SMS?

解决方案

回答

我们可以使用sms:[目标电话号码]URL打开SMS应用程序,但是没有关于如何用文本预填充SMS正文的指示(请参阅Apple开发者论坛上的这篇文章)。

回答

限制

如果我们可以在iPhone上的程序中发送短信,则可以编写在后台向人们发送垃圾邮件的游戏。我敢肯定,我们真的想收到朋友的垃圾邮件,"尝试这个新游戏!它使我的boxxers陷入僵局,而也是如此!roxxersboxxers.com !!!!如果我们现在注册,我们将获得3,200 RB点!!"

Apple对自动(甚至部分自动)的SMS和拨号操作有限制。 (想象一下,如果游戏改为在一天的特定时间拨打911)

最好的选择是在Internet上设置使用联机SMS发送服务的中间服务器,如果需要完全自动化,则通过该路由发送SMS。 (即,iPhone上的程序将UDP数据包发送到服务器,服务器将发送真实的SMS)

iOS 4更新

但是,iOS 4现在提供了一个视图控制器,我们可以将其导入到应用程序中。我们预先填充了SMS字段,然后用户可以在控制器内启动SMS发送。与使用" sms:..." URL格式不同,这允许应用程序保持打开状态,并允许我们同时填充" to"和" body"字段。我们甚至可以指定多个收件人。

这样可以防止应用程序在用户未明确知道的情况下发送自动SMS。我们仍然无法从iPhone本身发送全自动SMS,它需要一些用户交互。但这至少可以让我们填充所有内容,并避免关闭应用程序。

MFMessageComposeViewController类已被很好地记录下来,并且教程显示了实现的难易程度。

iOS 5更新

iOS 5包括用于iPod touch和iPad设备的消息传递,因此尽管我自己尚未对此进行测试,但可能所有iOS设备都将能够通过MFMessageComposeViewController发送SMS。如果是这种情况,则Apple正在运行SMS服务器,该服务器代表没有蜂窝调制解调器的设备发送消息。

iOS 6更新

此类无变化。

iOS 7更新

现在,我们可以检查所使用的消息媒体是否接受主题或者附件,以及接受的附件类型。我们可以编辑主题,并在媒体允许的范围内在邮件中添加附件。

iOS 8更新

此类无变化。

iOS 9更新

此类无变化。

iOS 10更新

此类无变化。

iOS 11更新

该课程没有重大变化

该类的局限性

请记住,此功能不适用于没有iOS 4的手机,并且不适用于iPod touch或者iPad,除了在iOS 5下可能除外。我们必须先检测设备和iOS限制,然后才能使用控制器,否则可能会将应用限制为最近升级的3G,3GS和4台iPhone。

但是,发送SMS的中间服务器将允许所有这些iOS设备中的任何一个和所有只要它们具有Internet访问权限即可发送SMS,因此对于许多应用程序来说,它仍然可能是更好的解决方案。或者,同时使用两者,并且仅在设备不支持该服务时才退回到在线SMS服务。

回答

如果需要,可以使用私有框架" CoreTelephony",该框架称为" CTMessageCenter"类。有几种发送短信的方法。

回答

这是一个完全满足我们需求的教程:MFMessageComposeViewController。

http://blog.mugunthkumar.com/coding/iphone-tutorial-how-to-send-in-app-sms/

本质上:

MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];
if([MFMessageComposeViewController canSendText])
{
    controller.body = @"SMS message here";
    controller.recipients = [NSArray arrayWithObjects:@"1(234)567-8910", nil];
    controller.messageComposeDelegate = self;
    [self presentModalViewController:controller animated:YES];
}

以及指向文档的链接。

https://developer.apple.com/documentation/messageui/mfmessagecomposeviewcontroller

回答

iOS 4中有一个类,支持从应用程序发送带有正文和配方的消息。它的工作原理与发送邮件相同。我们可以在此处找到文档:链接文本