iOS 16 CTCarrier deprecation

For iOS 16.X, CTCarrier will be deprecated. https://developer.apple.com/documentation/coretelephony/ctcarrier

①Could someone tell me why CTCarrier will be deprecated?

②What will be the correct way, going forward, to receive information regarding carrier information such as mobileCountryCode, mobileNetworkCode?

We use the CTCarrier mobileCountryCode to route emergency calls based on the users location

But note CTCarrier never guaranteed to give the real location in the first place. It was always the user’s home service provider, not the network they are actually on if roaming outside their home area.

Core Location would be the right way to determine actual location, both before the CTCarrier deprecation and now.

I use the MCC and MNC to map virtual networks to physical networks so I can display cell reception on a map. Having this information means I can enable users to filter the data on the map to show only data for the physical network they are on.

For example, here in the UK, if a user is on Lebara, VOXI, or Talkmobile, it means they are actually using the Vodafone physical network. So for users on any of these networks, my app can show them just the data for that physical network. (That way, they can see where they can get a signal for the network they're actually on.)

Does this mean I need to figure out a different way to map virtual to physical networks?

Thanks!

I added a "suggestion" in Feedback Assistant. Issue number FB12207878.

I wanted to note that libphonenumber-ios previously used CTCarrier.isoCountryCode to infer the country code to use when formatting phone numbers. The helper method was also public API so clients have presumably used it for other use cases too.

When it comes to stubbing this API out, it would probably break far fewer things to stub it with [[NSLocale currentLocale] objectForKey:NSLocaleCountryCode] or at least a real country code rather than the "--" mentioned in the deprecation notice.

We use it for our Emergency Preparedness app to decide what numbers to append to phone calls before sending to the native dialer.

Created bug FB12677611

How are applications expected to comply with FCC regulations, if this information is no longer available in the iOS platform.

47 CFR § 1.7006(b)(1)(iii) "The name of the provider;" and 47 CFR § 1.7006(e)(1)(iii) "A certification that the challenger is a subscriber or authorized user of the provider being challenged;"

Apple deprecated CTCarrier and we couldn't access Carrier Name anymore.

But Speed Test app by OOKLA updated recently(it should depend on SDK ios17) can access our Carrier Name.

Can anyone make it clear how they access my carrier name?

iOS 16 CTCarrier deprecation
 
 
Q