diff --git a/platform/ios/MGLMapboxEvents.m b/platform/ios/MGLMapboxEvents.m index 953e200226e..a0f87eeabe6 100644 --- a/platform/ios/MGLMapboxEvents.m +++ b/platform/ios/MGLMapboxEvents.m @@ -76,7 +76,6 @@ - (instancetype)init { _scale = [UIScreen mainScreen].scale; } -#if (!TARGET_IPHONE_SIMULATOR) // Collect cellular carrier data if CoreTelephony is linked Class CTTelephonyNetworkInfo = NSClassFromString(@"CTTelephonyNetworkInfo"); if (CTTelephonyNetworkInfo != NULL) { @@ -85,11 +84,13 @@ - (instancetype)init { SEL subscriberCellularProviderSelector = NSSelectorFromString(@"subscriberCellularProvider"); id carrierVendor = ((id (*)(id, SEL))[telephonyNetworkInfo methodForSelector:subscriberCellularProviderSelector])(telephonyNetworkInfo, subscriberCellularProviderSelector); - SEL carrierNameSelector = NSSelectorFromString(@"carrierName"); - NSString *carrierName = ((id (*)(id, SEL))[carrierVendor methodForSelector:carrierNameSelector])(carrierVendor, carrierNameSelector); - _carrier = carrierName; + // Guard against simulator, iPod Touch, etc. + if (carrierVendor) { + SEL carrierNameSelector = NSSelectorFromString(@"carrierName"); + NSString *carrierName = ((id (*)(id, SEL))[carrierVendor methodForSelector:carrierNameSelector])(carrierVendor, carrierNameSelector); + _carrier = carrierName; + } } -#endif } return self; }