我有一个应用程序,配置为将应用内消息发送到定义的号码.在viewDidLoad中,我检查设备是否可以使用[MFMessageComposeViewController canSendText]发送文本消息,然后在设备不支持的情况下隐藏控件.
到目前为止这已经很好了,但现在我正在为iOS 5更新它,并且发现了不支持SMS的设备,但是支持iMessage从[MFMessageComposeViewController canSendText]接收YES消息.
由于接收号码不是iOS 5设备,因此iMessage服务上发送的任何消息都将失败.只是为了让事情变得更糟,委托方法messageComposeViewController:didFinishWithResult:报告MessageComposeResultSent,所以我甚至无法在事件后显示消息.用户看到消息未被传递的唯一时间是他们查看消息传递应用程序,然后消息被标记为"未传递".
那么,有没有办法查询设备,以确定它是否可以发送"真正的"短信息,或者它是否只是获得iMessage支持?
您可以尝试确定,如果您当前的设备可以通过以下方式拨打电话:[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel://"]]
如果返回YES,则表示您的设备具有GSM/CDMA模块,这意味着您可以发送短信.如果您收到NO,则只能发送iMessage.
归档时间: |
|
查看次数: |
1232 次 |
最近记录: |