gpt4 book ai didi

ios - 在 ios 中检测 sim 卡检测的可能方法?

转载 作者:可可西里 更新时间:2023-11-01 03:24:31 28 4
gpt4 key购买 nike

我有一个可以发送消息的 iPhone 应用程序。当 SIM 卡在 iPhone 中不可用时,我想提醒用户。所以我尝试了以下三个功能来检查 sim 卡可用性

Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));
if([messageClass canSendText]){
// Sim available
NSLog(@"Sim available");
}
else{
//Sim not available
NSLog(@"Sim not available");
}

if([MFMessageComposeViewController canSendText]){
// Sim available
NSLog(@"Sim available");
}
else{
//Sim not available
NSLog(@"Sim not available");
}

if([[UIDevice currentDevice].model isEqualToString:@"iPhone"])
{
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel:123456"]])
{
NSLog(@"Sim available");
}
else
{
NSLog(@"Sim not available");
}
}

我检查过没有 sim 卡的 iphone,它总是返回@"Sim 可用"。但是当我打开默认的“消息”应用程序并尝试发送短信时,它会提示“未安装 SIM 卡”...此消息应用程序如何检测 SIM 卡可用性?

最佳答案

可以通过CTCarrier类查看。

enter image description here

BOOL isSimCardAvailable = YES;

CTTelephonyNetworkInfo* info = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier* carrier = info.subscriberCellularProvider;

if(carrier.mobileNetworkCode == nil || [carrier.mobileNetworkCode isEqualToString:@""])
{
isSimCardAvailable = NO;
}

您需要添加 CoreTelephony 框架以使用 CTTelephonyNetworkInfo 和 CCTCarrier。

关于ios - 在 ios 中检测 sim 卡检测的可能方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20769346/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com