From e20aa8a28f071fc59820b009b5f17d7e43a08f28 Mon Sep 17 00:00:00 2001 From: Julian Rex Date: Fri, 4 Sep 2020 10:26:44 -0400 Subject: [PATCH] Release 6.2.0 beta.1 prep (#417) --- Cartfile | 4 +-- Cartfile.resolved | 2 +- platform/darwin/src/MGLRasterDEMSource.mm | 6 ++-- platform/darwin/src/MGLRasterTileSource.mm | 6 ++-- platform/ios/CHANGELOG.md | 29 +++++++++++++++++-- .../ios/Integration Test Harness/Info.plist | 2 +- platform/ios/Integration Tests/Info.plist | 2 +- .../Mapbox-iOS-SDK-snapshot-dynamic.podspec | 2 +- platform/ios/Mapbox-iOS-SDK-stripped.podspec | 2 +- platform/ios/Mapbox-iOS-SDK.podspec | 2 +- platform/ios/app/Info.plist | 2 +- platform/ios/benchmark/Info.plist | 2 +- platform/ios/framework/Info-static.plist | 2 +- platform/ios/framework/Info.plist | 2 +- platform/ios/ios.xcodeproj/project.pbxproj | 18 ++++++------ platform/ios/src/MGLMapView.mm | 12 ++++++-- platform/ios/test/Info.plist | 2 +- 17 files changed, 64 insertions(+), 33 deletions(-) diff --git a/Cartfile b/Cartfile index 43db0b333a..ec55412b17 100644 --- a/Cartfile +++ b/Cartfile @@ -1,2 +1,2 @@ -binary "https://api.mapbox.com/downloads/v2/carthage/mobile-maps-gl-core/mapbox-ios-sdk-gl-core-static.json" == 3.1.0 -github "mapbox/mapbox-events-ios" == 0.10.2 \ No newline at end of file +binary "https://api.mapbox.com/downloads/v2/carthage/mobile-maps-gl-core/mapbox-ios-sdk-gl-core-static.json" == 4.0.0 +github "mapbox/mapbox-events-ios" == 0.10.2 diff --git a/Cartfile.resolved b/Cartfile.resolved index de144b5e91..f3d31eddf2 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,2 +1,2 @@ -binary "https://api.mapbox.com/downloads/v2/carthage/mobile-maps-gl-core/mapbox-ios-sdk-gl-core-static.json" "3.1.0" +binary "https://api.mapbox.com/downloads/v2/carthage/mobile-maps-gl-core/mapbox-ios-sdk-gl-core-static.json" "4.0.0" github "mapbox/mapbox-events-ios" "v0.10.2" diff --git a/platform/darwin/src/MGLRasterDEMSource.mm b/platform/darwin/src/MGLRasterDEMSource.mm index 753499ff94..5d9cae2544 100644 --- a/platform/darwin/src/MGLRasterDEMSource.mm +++ b/platform/darwin/src/MGLRasterDEMSource.mm @@ -8,9 +8,9 @@ @implementation MGLRasterDEMSource - (std::unique_ptr)pendingSourceWithIdentifier:(NSString *)identifier urlOrTileset:(mbgl::variant)urlOrTileset tileSize:(uint16_t)tileSize { - auto source = std::make_unique(identifier.UTF8String, - urlOrTileset, - tileSize); + auto ident = std::string(identifier.UTF8String); + auto tileSourceData = mbgl::TilesetSourceData(urlOrTileset, tileSize, mbgl::nullopt, mbgl::nullopt); + auto source = std::make_unique(ident, tileSourceData); return source; } @end diff --git a/platform/darwin/src/MGLRasterTileSource.mm b/platform/darwin/src/MGLRasterTileSource.mm index 80b21cc7dd..d2ceaa4932 100644 --- a/platform/darwin/src/MGLRasterTileSource.mm +++ b/platform/darwin/src/MGLRasterTileSource.mm @@ -40,9 +40,9 @@ - (instancetype)initWithIdentifier:(NSString *)identifier configurationURL:(NSUR } - (std::unique_ptr)pendingSourceWithIdentifier:(NSString *)identifier urlOrTileset:(mbgl::variant)urlOrTileset tileSize:(uint16_t)tileSize { - auto source = std::make_unique(identifier.UTF8String, - urlOrTileset, - tileSize); + auto ident = std::string(identifier.UTF8String); + auto tileSourceData = mbgl::TilesetSourceData(urlOrTileset, tileSize, mbgl::nullopt, mbgl::nullopt); + auto source = std::make_unique(ident, tileSourceData); return source; } diff --git a/platform/ios/CHANGELOG.md b/platform/ios/CHANGELOG.md index d29a807253..343bbae34b 100644 --- a/platform/ios/CHANGELOG.md +++ b/platform/ios/CHANGELOG.md @@ -4,6 +4,8 @@ Mapbox welcomes participation and contributions from everyone. Please read [CONT ## 6.2.0 +** This release supports beta versions of iOS 14. ** + ### ✨ New features * Added `MGLLocationManager.accuracyAuthorization` to check the level of accuracy the app is allowed to support. ([#361](https://github.com/mapbox/mapbox-gl-native-ios/pull/361)) @@ -13,19 +15,36 @@ Mapbox welcomes participation and contributions from everyone. Please read [CONT * Added an approximate user location halo when `MGLLocationManager.accuracyAuthorization` is set to `CLAccuracyAuthorizationReducedAccuracy`. ([#381](https://github.com/mapbox/mapbox-gl-native-ios/pull/381)) * The `MGLAccuracyAuthorizationDescription` as element of `NSLocationTemporaryUsageDescriptionDictionary` Info.plist key can now be set to describe why you request accuracy authorization. ([#392](https://github.com/mapbox/mapbox-gl-native-ios/pull/392)) * Added `[MGLMapViewDelegate mapViewStyleForDefaultUserLocationAnnotationView:]` and `MGLUserLocationAnnotationViewStyle` class to allow developers customize the default user location annotation view UI style. ([#403](https://github.com/mapbox/mapbox-gl-native-ios/pull/403)) -* Added `MGLNetworkConfiguration.connected` property to enforce `MGLMapView` to use catched tiles. ([#416](https://github.com/mapbox/mapbox-gl-native-ios/pull/416)) +* Added `MGLNetworkConfiguration.connected` property to enforce `MGLMapView` to use cached tiles. ([#416](https://github.com/mapbox/mapbox-gl-native-ios/pull/416)) +* Enabled local glyph rasterization for all writing systems. The new feature uses real glyph metrics and improves rendering quality for mixed (Latin / CJKV) labels. (#561) +* Minimum and Maximum allowed values are now considered for style layer properties, as defined by the specification. Tf a style property is assigned with a value outside the allowed range, the property gets assigned with its default value instead. (#647) ### 🐞 Bug fixes * Fixed an issue where the map would hang periodically (on iOS 14 beta). ([#411](https://github.com/mapbox/mapbox-gl-native-ios/pull/411)) -* Fixed a sporadic crash when resigning active. ([#412](https://github.com/mapbox/mapbox-gl-native-ios/pull/412)) +* Fixed a sporadic crash when the application "resigns active", for example, when showing Control Center. ([#412](https://github.com/mapbox/mapbox-gl-native-ios/pull/412)) + +### πŸ”§ Dependencies + +* Core library updated to `4.0.0`. ([#417](https://github.com/mapbox/mapbox-gl-native-ios/pull/417)) +* `mapbox-events-ios` updated to version 0.10.2 to avoid a [compilation issue](https://github.com/mapbox/mapbox-events-ios/issues/236) in earlier versions of Xcode. ## 6.1.0 - August 26, 2020 -* Added the `MGLStyle.accessiblePlaceSourceLayerIdentifiers` property to cause VoiceOver to read aloud certain layers in `MGLVectorTileSource`s as places, the same way that certain layers in the Mapbox Streets source are already read aloud as places. ([#336](https://github.com/mapbox/mapbox-gl-native-ios/pull/336)) +### ✨ New features +* Added the `MGLStyle.accessiblePlaceSourceLayerIdentifiers` property to cause VoiceOver to read aloud certain layers in `MGLVectorTileSource`s as places, the same way that certain layers in the Mapbox Streets source are already read aloud as places. ([#336](https://github.com/mapbox/mapbox-gl-native-ios/pull/336)) * Added `MGLObserver`, `MGLObservable` and `MGLEvent` to monitor events from the map view. ([#358](https://github.com/mapbox/mapbox-gl-native-ios/pull/358)) +### 🐞 Bug fixes + +* Fixed symbol flickering on updating symbols in the existing tiles (#630) +* Fixed icons jittering during immediate camera transitions (#260) + +### πŸ”§ Dependencies + +* Core library updated to `3.1.0`. + ## 6.0.0 - July 16, 2020 This major release does not include any breaking changes to public APIs. We are treating this release as a SEMVER major change because our installation instructions have changed. @@ -51,6 +70,10 @@ If you have any questions about how this change may impact your use of the Maps * Fixed a potential crash when switching from a style with many layers to an empty style. ([mapbox/mapbox-gl-native#16480](https://github.com/mapbox/mapbox-gl-native/issues/16480)) * Fixed a potential memory leak when using VoiceOver. ([mapbox/mapbox-gl-native-ios#318](https://github.com/mapbox/mapbox-gl-native-ios/pull/318)) +### πŸ”§ Dependencies + +* Core library updated to `1.8.1`. + ## 5.9.0 - May 7, 2020 ### Styles and rendering diff --git a/platform/ios/Integration Test Harness/Info.plist b/platform/ios/Integration Test Harness/Info.plist index e2b1f0d870..1bfccdbd00 100644 --- a/platform/ios/Integration Test Harness/Info.plist +++ b/platform/ios/Integration Test Harness/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 6.2.0 CFBundleVersion - 15266 + 15267 LSRequiresIPhoneOS UILaunchStoryboardName diff --git a/platform/ios/Integration Tests/Info.plist b/platform/ios/Integration Tests/Info.plist index 7426969679..6fc7f96e8b 100644 --- a/platform/ios/Integration Tests/Info.plist +++ b/platform/ios/Integration Tests/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 6.2.0 CFBundleVersion - 15266 + 15267 diff --git a/platform/ios/Mapbox-iOS-SDK-snapshot-dynamic.podspec b/platform/ios/Mapbox-iOS-SDK-snapshot-dynamic.podspec index e41f6cd591..c8a8f6c5fe 100644 --- a/platform/ios/Mapbox-iOS-SDK-snapshot-dynamic.podspec +++ b/platform/ios/Mapbox-iOS-SDK-snapshot-dynamic.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |m| - version = '6.2.0-alpha.2' + version = '6.2.0-beta.1' m.name = 'Mapbox-iOS-SDK-snapshot-dynamic' m.version = "#{version}-snapshot" diff --git a/platform/ios/Mapbox-iOS-SDK-stripped.podspec b/platform/ios/Mapbox-iOS-SDK-stripped.podspec index 02a4cb54bd..19b4740058 100644 --- a/platform/ios/Mapbox-iOS-SDK-stripped.podspec +++ b/platform/ios/Mapbox-iOS-SDK-stripped.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |m| - version = '6.2.0-alpha.2' + version = '6.2.0-beta.1' m.name = 'Mapbox-iOS-SDK-stripped' m.version = "#{version}-stripped" diff --git a/platform/ios/Mapbox-iOS-SDK.podspec b/platform/ios/Mapbox-iOS-SDK.podspec index 7ae0317b70..f743575dd1 100644 --- a/platform/ios/Mapbox-iOS-SDK.podspec +++ b/platform/ios/Mapbox-iOS-SDK.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |m| - version = '6.2.0-alpha.2' + version = '6.2.0-beta.1' m.name = 'Mapbox-iOS-SDK' m.version = version diff --git a/platform/ios/app/Info.plist b/platform/ios/app/Info.plist index d71e404c8a..fcf2f9e34b 100644 --- a/platform/ios/app/Info.plist +++ b/platform/ios/app/Info.plist @@ -21,7 +21,7 @@ CFBundleSignature MBGL CFBundleVersion - 15266 + 15267 LSRequiresIPhoneOS NSLocationTemporaryUsageDescriptionDictionary diff --git a/platform/ios/benchmark/Info.plist b/platform/ios/benchmark/Info.plist index aa07d391ad..fe2002a746 100644 --- a/platform/ios/benchmark/Info.plist +++ b/platform/ios/benchmark/Info.plist @@ -21,7 +21,7 @@ CFBundleSignature MBGL CFBundleVersion - 15266 + 15267 LSRequiresIPhoneOS NSHumanReadableCopyright diff --git a/platform/ios/framework/Info-static.plist b/platform/ios/framework/Info-static.plist index 9caef42432..d9369c8bcb 100644 --- a/platform/ios/framework/Info-static.plist +++ b/platform/ios/framework/Info-static.plist @@ -15,7 +15,7 @@ CFBundleSignature ???? CFBundleVersion - 15266 + 15267 MGLCommitHash $(CURRENT_COMMIT_HASH) MGLSemanticVersionString diff --git a/platform/ios/framework/Info.plist b/platform/ios/framework/Info.plist index aa0f6df886..d6abe5afce 100644 --- a/platform/ios/framework/Info.plist +++ b/platform/ios/framework/Info.plist @@ -19,7 +19,7 @@ CFBundleSignature ???? CFBundleVersion - 15266 + 15267 MGLCommitHash $(CURRENT_COMMIT_HASH) MGLSemanticVersionString diff --git a/platform/ios/ios.xcodeproj/project.pbxproj b/platform/ios/ios.xcodeproj/project.pbxproj index 99d3ad2638..18cf65a7e1 100644 --- a/platform/ios/ios.xcodeproj/project.pbxproj +++ b/platform/ios/ios.xcodeproj/project.pbxproj @@ -3739,7 +3739,7 @@ CLANG_ENABLE_MODULES = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 15266; + CURRENT_PROJECT_VERSION = 15267; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; GCC_PREPROCESSOR_DEFINITIONS = ""; @@ -3792,7 +3792,7 @@ CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 15266; + DYLIB_CURRENT_VERSION = 15267; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_BITCODE = YES; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; @@ -3816,7 +3816,7 @@ buildSettings = { BITCODE_GENERATION_MODE = bitcode; DEFINES_MODULE = YES; - DYLIB_CURRENT_VERSION = 15266; + DYLIB_CURRENT_VERSION = 15267; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)", @@ -3938,7 +3938,7 @@ CLANG_ENABLE_MODULES = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 15266; + CURRENT_PROJECT_VERSION = 15267; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_TESTABILITY = YES; GCC_OPTIMIZATION_LEVEL = 0; @@ -3962,7 +3962,7 @@ CLANG_ENABLE_MODULES = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 15266; + CURRENT_PROJECT_VERSION = 15267; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; GCC_PREPROCESSOR_DEFINITIONS = ""; @@ -4080,7 +4080,7 @@ CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 15266; + DYLIB_CURRENT_VERSION = 15267; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_BITCODE = YES; INFOPLIST_FILE = framework/Info.plist; @@ -4108,7 +4108,7 @@ DEFINES_MODULE = YES; DEPLOYMENT_POSTPROCESSING = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 15266; + DYLIB_CURRENT_VERSION = 15267; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_BITCODE = YES; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; @@ -4155,7 +4155,7 @@ buildSettings = { BITCODE_GENERATION_MODE = bitcode; DEFINES_MODULE = YES; - DYLIB_CURRENT_VERSION = 15266; + DYLIB_CURRENT_VERSION = 15267; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)", @@ -4180,7 +4180,7 @@ BITCODE_GENERATION_MODE = bitcode; DEFINES_MODULE = YES; DEPLOYMENT_POSTPROCESSING = YES; - DYLIB_CURRENT_VERSION = 15266; + DYLIB_CURRENT_VERSION = 15267; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)", diff --git a/platform/ios/src/MGLMapView.mm b/platform/ios/src/MGLMapView.mm index c8fc206eb6..f554dccaf7 100644 --- a/platform/ios/src/MGLMapView.mm +++ b/platform/ios/src/MGLMapView.mm @@ -5589,13 +5589,21 @@ - (void)validateLocationServices if (shouldEnableLocationServices) { if (self.locationManager.authorizationStatus == kCLAuthorizationStatusNotDetermined) { + + // Before SDK 12.2 (bundled with Xcode 10.2): There’s no main bundle + // identifier when running in a unit test bundle. + // 12.2 and after: the above bundle identifier is: com.apple.dt.xctest.tool + NSString *bundleIdentifier = [NSBundle mainBundle].bundleIdentifier; + BOOL raiseException = (bundleIdentifier && (![bundleIdentifier isEqualToString:@"com.apple.dt.xctest.tool"])); + + // This will be NO during XCTests BOOL hasWhenInUseUsageDescription = !![[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationWhenInUseUsageDescription"]; if (@available(iOS 11.0, *)) { // A WhenInUse string is required in iOS 11+ and the map never has any need for Always, so it's enough to just ask for WhenInUse. if (hasWhenInUseUsageDescription) { [self.locationManager requestWhenInUseAuthorization]; - } else { + } else if (raiseException) { [NSException raise:MGLMissingLocationServicesUsageDescriptionException format:@"To use location services this app must have a NSLocationWhenInUseUsageDescription string in its Info.plist."]; } @@ -5607,7 +5615,7 @@ - (void)validateLocationServices [self.locationManager requestWhenInUseAuthorization]; } else if (hasAlwaysUsageDescription) { [self.locationManager requestAlwaysAuthorization]; - } else { + } else if (raiseException) { [NSException raise:MGLMissingLocationServicesUsageDescriptionException format:@"To use location services this app must have a NSLocationWhenInUseUsageDescription and/or NSLocationAlwaysUsageDescription string in its Info.plist."]; } diff --git a/platform/ios/test/Info.plist b/platform/ios/test/Info.plist index d1f8d17654..31f2adb83e 100644 --- a/platform/ios/test/Info.plist +++ b/platform/ios/test/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 15266 + 15267