From f67ceec8c24d58dc2c976db8b1c2d0a3e8a68efc Mon Sep 17 00:00:00 2001 From: Jason Wray Date: Wed, 2 Dec 2015 17:36:09 -0500 Subject: [PATCH] [ios] fix CoreTelephony crash (by removing it) Fix #3112, ref #2581 --- CHANGELOG.md | 2 ++ docs/BUILD_IOS_OSX.md | 1 - platform/ios/MGLMapboxEvents.m | 45 ---------------------------------- 3 files changed, 2 insertions(+), 46 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cf25bee4fd..5d549c3bdcc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,8 @@ Known issues: ## iOS master +- Fixed CoreTelephony.framework crash. ([#3170](https://github.com/mapbox/mapbox-gl-native/pull/3170)) +- `MGLMapView` methods that alter the viewport now accept optional completion handlers. ([#3090](https://github.com/mapbox/mapbox-gl-native/pull/3090)) - Fixed an issue preventing the compass from responding to taps after the compass is moved programmatically. ([#3117](https://github.com/mapbox/mapbox-gl-native/pull/3117)) ## iOS 3.0.0 diff --git a/docs/BUILD_IOS_OSX.md b/docs/BUILD_IOS_OSX.md index 6a430252017..b862fdf5f71 100644 --- a/docs/BUILD_IOS_OSX.md +++ b/docs/BUILD_IOS_OSX.md @@ -83,7 +83,6 @@ Currently, until [#1437](https://github.com/mapbox/mapbox-gl-native/issues/1437) - `libc++.dylib` - `libsqlite3.dylib` - `libz.dylib` - - `CoreTelephony.framework` (optional, telemetry-only) 1. Add `-ObjC` to your target's "Other Linker Flags" build setting (`OTHER_LDFLAGS`). diff --git a/platform/ios/MGLMapboxEvents.m b/platform/ios/MGLMapboxEvents.m index 239ac7ece2c..7f8df610956 100644 --- a/platform/ios/MGLMapboxEvents.m +++ b/platform/ios/MGLMapboxEvents.m @@ -75,23 +75,6 @@ - (instancetype)init { } else { _scale = [UIScreen mainScreen].scale; } - -#if !TARGET_OS_SIMULATOR - // Collect cellular carrier data if CoreTelephony is linked - Class MGLTelephony = NSClassFromString(@"CTTelephonyNetworkInfo"); - if (MGLTelephony) { - id telephonyNetworkInfo = [[MGLTelephony alloc] init]; - SEL subscriberCellularProviderSelector = NSSelectorFromString(@"subscriberCellularProvider"); - id carrierVendor = [telephonyNetworkInfo performSelector:subscriberCellularProviderSelector]; - - // Guard against simulator, iPod Touch, etc. - if (carrierVendor) { - SEL carrierNameSelector = NSSelectorFromString(@"carrierName"); - NSString *carrierName = [carrierVendor performSelector:carrierNameSelector]; - _carrier = carrierName; - } - } -#endif } return self; } @@ -510,13 +493,6 @@ - (void) pushEvent:(NSString *)event withAttributes:(MGLMapboxEventAttributes *) [evt setValue:@((int)(100 * [UIDevice currentDevice].batteryLevel)) forKey:@"batteryLevel"]; [evt setValue:@(strongSelf.data.scale) forKey:@"resolution"]; - if (strongSelf.data.carrier) { - [evt setValue:strongSelf.data.carrier forKey:@"carrier"]; - - NSString *cell = [strongSelf currentCellularNetworkConnectionType]; - [evt setObject:(cell ? cell : [NSNull null]) forKey:@"cellularNetworkType"]; - } - MGLReachability *reachability = [MGLReachability reachabilityForLocalWiFi]; [evt setValue:([reachability isReachableViaWiFi] ? @YES : @NO) forKey:@"wifi"]; @@ -725,27 +701,6 @@ - (NSInteger) contentSizeScale { return result; } -// Can be called from any thread. -// -- (NSString *) currentCellularNetworkConnectionType { - NSString *radioTech; - - Class CTTelephonyNetworkInfo = NSClassFromString(@"CTTelephonyNetworkInfo"); - if (CTTelephonyNetworkInfo) { - id telephonyNetworkInfo = [[CTTelephonyNetworkInfo alloc] init]; - SEL currentRadioAccessTechnologySelector = NSSelectorFromString(@"currentRadioAccessTechnology"); - radioTech = ((id (*)(id, SEL))[telephonyNetworkInfo methodForSelector:currentRadioAccessTechnologySelector])(telephonyNetworkInfo, currentRadioAccessTechnologySelector); - } - - if (radioTech == nil) { - return nil; - } else if ([radioTech hasPrefix:@"CTRadioAccessTechnology"]) { - return [radioTech substringFromIndex:23]; - } else { - return @"Unknown"; - } -} - // Can be called from any thread. // + (BOOL) checkPushEnabled {