iOS 16 CTCarrier 弃用

dar*_*234 19 ios core-telephony swift ios16

对于 iOS 16,CTCarrier 似乎已被弃用。

https://developer.apple.com/documentation/coretelephony/ct Carrier

今后接收有关 MCC、MNC 和 ISO 国家/地区代码等运营商信息的正确方法是什么?

在我的公司,我们使用这些信息作为数据点来协助诈骗者检测和其他一些小但相对重要的事情,例如:限制来自我们因定价原因不支持的国家/运营商的电话号码登录。

我找不到任何有关此弃用背后原因的 WWDC 视频,也找不到支持此信息的新类。

bla*_*acx 1

他们将在更高版本的 iOS 版本中弃用这一点。在 iOS 16.4 中,它们返回CTCarrier.isoCountryCode. 我们通过应用程序中的错误报告检测到这一点:-(

Locale.current.regionCode由于我们假设用户通常保留其所在国家/地区的设备区域,因此 SIM 卡具有相同的 ISO 国家/地区代码,因此我们将其替换为以下信息。我知道这并不总是正确的,但这是我们现在能得到的最接近的结果。然后,我们使用regionCode(例如 en_US)从一个大枚举中获取电话号码 ISO 国家/地区代码(例如 +1),该枚举将所有国家/地区映射到其电话号码国家/地区代码。

您可以在这里查找相关代码。我们使用的国家/地区的大 JSON 可以在这里找到