CTTelephonyNetworkInfo Crash in iOS 13.3.1, iPhone 8 Plus

Here is the crash message, can anyone help me to sovle it?


# Version: 7.1.0 (200.2003091736)

# Issue ID: 0c524b3dc585196cbe7ed564a4d841f3

# Session ID: 30ad28258bdf47d4873df879a4e534cf_DNE_0_v2

# Date: 2020-03-14T08:36:00Z

# OS Version: 13.3.1 (17D50)

# Device: iPhone 8 Plus

# RAM Free: 1.5%

# Disk Free: 22.3%


#0. Crashed: com.apple.main-thread

0 CoreFoundation 0x1adf9e444 -[__NSDictionaryM objectForKeyedSubscript:] + 144

1 CoreTelephony 0x1b2862640 -[CTTelephonyNetworkInfo updateRat:descriptor:] + 140

2 CoreTelephony 0x1b2862534 -[CTTelephonyNetworkInfo queryRatForDescriptor:] + 392

3 CoreTelephony 0x1b28622f0 -[CTTelephonyNetworkInfo queryRat] + 236

4 CoreTelephony 0x1b285ff90 -[CTTelephonyNetworkInfo initWithClient:] + 928

5 CoreTelephony 0x1b285fb90 -[CTTelephonyNetworkInfo init] + 92


Here is a part of core codes:

CTTelephonyNetworkInfo *telephonyNetworkInfo = [[CTTelephonyNetworkInfo alloc] init];

CTCarrier *carrier = telephonyNetworkInfo.subscriberCellularProvider;

NSString *serviceCarrierName = carrier.carrierName;


I use telephonyNetworkInfo, which is a temporary variable, to get the carrier's name. When I need a new carrier's name, I will use CTTelephonyNetworkInfo class to initialize a new one again. Is there a problem?

Replies

And I can't find that mentions 65936906, can you provide a clickable link, please?

No. For the full story here, see my Bug Reporting: How and Why? post.

Here's the full crash log

That crash report is kinda mushed, and it clearly indicates that there’s a third-party crash reporter in play, which is never a good idea [1], but…

AFAICT the crash happens when your app fetches the dataServiceIdentifier property:

1 CoreTelephony     … -[CTTelephonyNetworkInfo dataServiceIdentifier] (in CoreTelephony) + 120 …
2 rls.com.xxxy.***  … -[XXNetworkUtil currentCarrier] + 2792088 …

What is it using that property for?

The reason I ask is that, on modern systems, most of CT is pointless because a lot of properties now return placeholder values. However, I’m not sure about the fate of dataServiceIdentifier, and so I’m curious what you’re doing with it.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] See Implementing Your Own Crash Reporter.