以编程方式发送SMS,无需SMS编写器窗口

时间:2012-03-05 16:56:29

标签: iphone interface sms

直到昨天我才认为不使用IOS SMS界面发送背景短信(这里很多人也保证)。然而,今天我下载了一个名为SmartSender的新应用程序,它会安排你的短信,然后自动发送。

我对它进行了测试,并且短信实际上并未在后台发送,但会显示本地通知,当您点击它以将应用程序置于前台时,会自动发送短信。

如何实现这一目标?

也许Apple批准了该应用程序,因为界面非常清楚您正在做什么以及您要发送什么,但是如何在不显示界面的情况下发送短信?


更新:预定短信显示在我的手机短信应用已发送,所以我不认为他们正在使用其他服务发送短信,接收方电话也表示短信是从我的手机发送的。


更新2:好的我正在使用并观看应用程序这样做,所以它可能没有显示默认界面,我不是在问这是否可以完成。我正在使用它关闭所有互联网连接,并从MY PHONE发送消息,因此它出现在MESSAGES APP上。因此该应用程序不使用任何第三方服务。


更新3:我会接受我自己的回答,事实上这是不可能的;然而,当问题得到解答时。有问题的应用程序现已在其描述中指出它在iOS 6中不起作用,所以我认为Apple修补了一些可以被利用来实现此功能的错误。

6 个答案:

答案 0 :(得分:7)

尝试过该应用后,我可以验证 以编程方式发送短信,而不显示短信界面。并且显然不会通过第三方服务发生,因为消息在可能的情况下作为iMessage发送。

从所有其他答案中也可以清楚地看出,没有任何用于以编程方式发送SMS的公共API,因此开发人员必须使用私有API,但却以某种方式通过审批流程窃听此应用。

具体来说,他似乎使用了CoreTelephony API。 This post on SO描述了该过程。显然,您还需要亲自处理CoreTelephony头文件。

答案 1 :(得分:5)

您无法在后台以编程方式发送短信,您可以使用以下第三方API发送短信(短信)。

  1. http://www.twilio.com/
  2. http://www.nexmo.com/
  3. https://www.tropo.com/
  4. 我建议nexmo,它易于使用并支持国际消息。

答案 2 :(得分:5)

我使用iOS 6和XCode 4.5(写作时的最新版本)一直在调查iOS上的短信发送/接收限制。我很好奇这个SmartSender应用程序,所以我购买了它。

我不知道是不是因为我只是在iOS 6上尝试过,但我得到标准的消息控制器(MFMessageComposeViewController)来发送消息。我试过延迟发送 - 我在规定的时间得到消息控制器,并且必须手动点击发送。我试过立即发送 - 弹出控制器,我还必须手动点击发送。如果我点击取消,该应用程序实际上将我循环回消息控制器(除非我杀了应用程序,否则无法取消!)

这是事实,这允许从自定义UI输入消息,但随后消息本身被复制到MFMessageComposeViewController中,这就是发送SMS的内容。所以App Store获得批准,但没有像我们所有人想要的那样!

答案 3 :(得分:3)

事实上,这是不可能的;然而,当问题得到解答时。

有问题的应用程序现已在其描述中指出它在IOS 6下不起作用,所以我认为苹果修补了一些可以被利用来实现此功能的错误。

答案 4 :(得分:2)

您可以使用:

[[UIApplication sharedApplication] openURL: @"sms:+3912345678"];

它在模拟器上不起作用......你不能以编程方式发送短信!

在iOS上测试< 6。

答案 5 :(得分:0)

无法以编程方式发送短信。您可能需要调查第三方服务服务,以便像Twilio一样发送短信。