【发布时间】:2017-03-18 11:53:22
【问题描述】:
我正在编写一个应用程序,可以选择允许您向用户列表发送 SMS。应用当前检测设备是否允许使用 MFMessageComposeViewController.canSendText() 发送短信,结果为真时才显示“发送短信”按钮。
今天,我的一位用户抱怨说,当他按下仅支持 Wifi 的 iPad 上的按钮时,什么也没发生。事实证明,如果 iOS 设备打开了 iMessage 功能,即使不支持 SMS,canSendText() 也会返回 true。在 iOS 设置中关闭 iMessage 功能会正确禁用“发送短信”按钮。
通过 iMessage 发送消息的问题是某些收件人将打开 iMessage,因此会收到短信。但是对于没有 iMessage 的收件人(它可能已关闭,或者他们可能一开始没有使用 Apple 设备),这些消息将不会到达。 (当 MFMessageComposeViewController 最终出现时,这些地址被标记为红色。但我的普通用户不会理解这意味着消息不会传递。)
有没有人知道专门测试 SMS 功能的可靠方法,而不仅仅是一般的文本消息(SMS、iMessage 和 MMS)?
【问题讨论】:
标签: ios objective-c iphone ipad