diff options
author | Julian Rex <julian.rex@gmail.com> | 2018-06-11 15:23:40 -0400 |
---|---|---|
committer | Fabian Guerra <fabian.guerra@mapbox.com> | 2018-06-22 13:57:20 -0700 |
commit | 1c7ad8f74b0b6351ff0a3271c741d015ea333484 (patch) | |
tree | 09eb29a68deac55b3d4d19abddadc4be8c9a5997 | |
parent | 1642dd9b89c46ce01f62c40f3cd16c8999d0e508 (diff) | |
download | qtlocation-mapboxgl-upstream/fabian-cp-12123.tar.gz |
[ios,macos] Fixed crash in `-[MGLStyle localizeLabelsIntoLocale:]` on iOS 9.3 (#12123)upstream/fabian-cp-12123
# Conflicts:
# platform/ios/CHANGELOG.md
# platform/macos/CHANGELOG.md
-rw-r--r-- | platform/darwin/src/MGLVectorTileSource.mm | 11 | ||||
-rw-r--r-- | platform/ios/CHANGELOG.md | 2 | ||||
-rw-r--r-- | platform/macos/CHANGELOG.md | 2 |
3 files changed, 14 insertions, 1 deletions
diff --git a/platform/darwin/src/MGLVectorTileSource.mm b/platform/darwin/src/MGLVectorTileSource.mm index 6b9d857ad2..50d98051f3 100644 --- a/platform/darwin/src/MGLVectorTileSource.mm +++ b/platform/darwin/src/MGLVectorTileSource.mm @@ -109,7 +109,16 @@ static NSArray * const MGLMapboxStreetsAlternativeLanguages = @[ + (NSString *)preferredMapboxStreetsLanguageForPreferences:(NSArray<NSString *> *)preferencesArray { BOOL acceptsEnglish = [preferencesArray filteredArrayUsingPredicate: [NSPredicate predicateWithBlock:^BOOL(NSString * _Nullable language, NSDictionary<NSString *,id> * _Nullable bindings) { - return [[NSLocale localeWithLocaleIdentifier:language].languageCode isEqualToString:@"en"]; + NSString *languageCode; + + if (@available(iOS 10.0, macOS 10.12.0, *)) { + languageCode = [NSLocale localeWithLocaleIdentifier:language].languageCode; + } + else { + languageCode = [[NSLocale localeWithLocaleIdentifier:language] objectForKey:NSLocaleLanguageCode]; + } + + return [languageCode isEqualToString:@"en"]; }]].count; NSArray<NSString *> *availableLanguages = acceptsEnglish ? MGLMapboxStreetsLanguages : MGLMapboxStreetsAlternativeLanguages; diff --git a/platform/ios/CHANGELOG.md b/platform/ios/CHANGELOG.md index dfa6708ac6..7ad55edaf3 100644 --- a/platform/ios/CHANGELOG.md +++ b/platform/ios/CHANGELOG.md @@ -2,6 +2,8 @@ Mapbox welcomes participation and contributions from everyone. Please read [CONTRIBUTING.md](../../CONTRIBUTING.md) to get started. +* Fixed crash in `-[MGLStyle localizeLabelsIntoLocale:]` on iOS 9.3 (attempting to access a property that was introduced in iOS 10.0) ([#12123](https://github.com/mapbox/mapbox-gl-native/pull/12123)) + ## 4.0.2 - May 29, 2018 * Fixed a crash when constant expressions were used for style properties that didn't support data-driven styling. ([#11960](https://github.com/mapbox/mapbox-gl-native/issues/11960)) diff --git a/platform/macos/CHANGELOG.md b/platform/macos/CHANGELOG.md index 6c01d7add5..d56a7ec181 100644 --- a/platform/macos/CHANGELOG.md +++ b/platform/macos/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog for Mapbox Maps SDK for macOS +* Fixed crash in `-[MGLStyle localizeLabelsIntoLocale:]` on iOS 9.3 (attempting to access a property that was introduced in iOS 10.0) ([#12123](https://github.com/mapbox/mapbox-gl-native/pull/12123)) + ## 0.7.1 ### Style layers |