嗨,我正在使用 SMSComposer 并想从通讯录中向联系人发送短信。我想检测我的 iPhone 中是否有 SIM 卡
有什么办法可以达到这个。?
我尝试了 REachability Classes,但它为您提供了有关 WWAN 和互联网连接的信息。Core Telephony Framework 是否有这样的设施。?iPhone 的运营商名称等类似的东西。??
任何帮助,将不胜感激。谢谢维卡斯
嗨,我正在使用 SMSComposer 并想从通讯录中向联系人发送短信。我想检测我的 iPhone 中是否有 SIM 卡
有什么办法可以达到这个。?
我尝试了 REachability Classes,但它为您提供了有关 WWAN 和互联网连接的信息。Core Telephony Framework 是否有这样的设施。?iPhone 的运营商名称等类似的东西。??
任何帮助,将不胜感激。谢谢维卡斯
您可以通过CoreTelephony
框架进行尝试,例如。
let noAvailability = CTTelephonyNetworkInfo()
.serviceSubscriberCellularProviders?
.values
.compactMap { $0.mobileCountryCode }
.isEmpty ?? false
(of )的官方文档包含有关某些边缘情况的更多信息,这可能值得考虑。mobileCountryCode
CTCarrier
尝试链接CoreTelephony.framework
然后:
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h>
NSString *_code = [[[[CTTelephonyNetworkInfo alloc] init] subscriberCellularProvider] mobileCountryCode];
您可以在官方文档中找到更多信息,但简要说明:
如果以下任何一项适用,则此属性的值是
nil
:
设备中没有 SIM 卡。
该设备不在蜂窝服务范围内。
在飞行模式下,该值可能
nil
在 iPhone 4S 之前的硬件上。
为此,您需要添加 MessageUI.framework 框架...
试试这个代码......它可以帮助你
Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));
if([messageClass canSendText]){
// Sim available
}
else{
//Sim not available
}