ios 中检测 SIM 卡的可能方法?

2023-11-23

我有一个能够发送消息的 iPhone 应用程序。我想在 iPhone 中没有 SIM 卡时提醒用户。所以我尝试了以下三个功能来检查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");
    }
}

我检查过我的 iPhone 没有 sim,它总是返回@“Sim available”。但是,当我打开默认的“消息”应用程序并尝试发送短信时,它显示警报“未安装 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 和 CTCarrier。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ios 中检测 SIM 卡的可能方法? 的相关文章

  • iOS:无法从 Swift 建立 RabbitMQ 连接

    我正在尝试从 Swift 连接 RabbitMQ 我已关注this https github com rabbitmq rabbitmq objc client 图书馆 创建 Pod 设置并进入工作区 已检查并核实 成功运行 viewDid
  • 如何在 Objective C 中将 html 数据转换为 PDF

    我想在 Objective C 中动态地将 html 转换为 pdf 转换它的最佳方法是什么 以便它保持与 html 相同的外观 提前致谢 Prasad UIGraphicsBeginPDFContextToFile https devel
  • 如何在 AVCaptureVideoPreviewLayer 上添加叠加层?

    我正在使用 Swift 构建一个 iOS 应用程序 它需要二维码扫描仪功能 我已经使用 AVFoundation 实现了 QR 码扫描仪 现在我的捕获屏幕看起来与视频录制屏幕相同 即AVCaptureVideoPreviewLayer显示相
  • Objective C unicode 字符比较

    unicode 比较是如何编码的 我需要如下进行测试 检查字符串中的特定字母 下面的代码令人窒息 警告 指针和整数之间的比较 for charIndex 0 charIndex lt myString length charIndex un
  • 将 autoResizingMask 与 CGRectZero 结合使用

    我正在为表格视图部分构建页脚 页脚的高度将在中指定heightForFooterInSection so in viewForFooterInSection我只想添加子视图并指定页脚视图应填充指定的任何页脚高度 此页脚大小将是动态的 所以
  • 裁剪图像和中心

    在 Swift 中如何裁剪图像并将其放在中心 我已经裁剪了图像 但想将其放在中间 ImgView image OrigImage var masklayer CAShapeLayer masklayer frame ImgView fram
  • MobileSafari 的正确触摸按钮行为

    MobileSafari 通常具有不正确的 HTML 按钮行为 不正确的含义 不像 iOS 原生按钮 正确的按钮行为如下 用户触摸按钮 按钮突出显示 用户将手指拖出按钮 按钮变暗 用户将手指拖回按钮 按钮突出显示 用户将手指拖出按钮并释放
  • 有没有办法检查 iOS 设备是否锁定/解锁?

    我在我的应用程序中使用了 GPS 位置更新 我想检测 iOS 设备是否处于睡眠模式 以便我可以关闭 GPS 位置更新并优化电池使用 我已经在iOS 6中尝试过pausesLocationupdates 但它无法按预期工作 我想在设备进入睡眠
  • 将警报视图“是”按钮设置为粗体,将“否”按钮设置为正常

    我有警报视图 其中有 是 和 否 选项 看起来像下面这样 使用的代码是 UIAlertView confAl UIAlertView alloc initWithTitle message Are you sure delegate sel
  • WGS84 iOS 上外部 GPS 数据的大地水准面高度高度偏移

    对于我正在编写的应用程序 我们将 IOS 设备与外部传感器连接起来 该传感器通过本地 WiFi 网络输出 GPS 数据 该数据以相对于海拔高度的 原始 格式出现 一般来说 所有 GPS 高度都需要应用与基于当前位置的 WGS84 大地水准面
  • iOS Facebook Like 按钮无法与 iOS 应用程序配合使用

    尝试将 Facebook Like 按钮添加到 iOS 应用程序中 按照网上的说明进行操作 发现一个问题 模拟器上没有安装 Facebook 应用程序 8 x 7 x 当按下 F Like 按钮时 我们会看到切换到 Facebook com
  • ios - 安排无限数量的本地通知

    我有一个应用程序 允许用户创建重复事件 每一个事件在一天中的特定时间可能有也可能没有提醒 警报 如果有的话 应用程序会发送一个本地通知在一天中的那个时候 事件存储在CoreData Event name Go to London date
  • UIDatePicker 中的最小和最大日期

    我想从日期选择器中获取最小和最大日期 但最小日期应为当前日期的 18 最大日期应为当前日期的 100 假设当前年份是 2018 年 那么我想要最小日期 2000 年和最大日期 1918 年 到目前为止我所做的是 NSCalendar gre
  • Swift - 使用 NSUserDefaults 保存高分

    我正在使用 Swift 制作游戏 我想使用 NSUserDefaults 保存用户的高分 我知道如何在 AppDelegate 文件中创建新的 NSUserDefaults 变量 let highscore NSUserDefaults N
  • 设置视图控制器根视图的外观代理

    使用 UIAppearance 时是否可以仅针对视图控制器的根视图 我想从我的应用程序委托中为所有控制器设置背景颜色 但只想定位视图控制器上的直接视图 谢谢 详细来说 每个 UIViewController 子类都有自己的 UIView 对
  • 如何将 NSNumber 舍入到零小数位

    如何将 NSNumber 舍入到零小数空格 在下面的行中 它似乎保留了小数空格 NSNumber holidayNightCount NSNumber numberWithDouble sHolidayDuration value 通常转换
  • 使用文本编辑器避免在 SwiftUI 中使用键盘

    我正在尝试重新创建 iOS 笔记应用程序的简单版本 请注意 我是一个十足的 Swift 新手 我当前的问题是我希望我的视图在键盘出现时向上移动 我已经实现了一些代码does这样做 但它有一些讨厌的错误 它首先将视图移动得太高 然后当您开始打
  • AVAssetWriter 不适用于音频

    我正在尝试让音频与 iOS 应用程序的视频一起使用 视频很好 文件中没有录制任何音频 我的 iPhone 扬声器可以工作 这是初始化设置 session AVCaptureSession alloc init menu gt session
  • 如何为所有导航控制器和视图控制器设置自定义导航栏(标题 + titleView)?

    我有一个选项卡式应用程序 选项卡中有导航控制器 其中有视图控制器 它们都使用相同的导航控制器导航栏 后退按钮 徽标图像 目前 我将此代码放置在每个视图控制器中 void viewDidLoad super viewDidLoad self
  • 故事板 - “圆形文本字段”警告的位置不明确

    https stackoverflow com a 16251810 2589276 https stackoverflow com a 16251810 2589276 我解决了上述问题 但当我按照指示的步骤操作时遇到了新问题 现在我收到

随机推荐