From 43857045685cc53c69c6b529682579205de91581 Mon Sep 17 00:00:00 2001
From: Aleksei Sapitskii <45671572+aleksproger@users.noreply.github.com>
Date: Tue, 24 Sep 2024 16:00:00 +0300
Subject: [PATCH] [lts/v10] Release v10.19.0 (#2311)
---
.../xcshareddata/swiftpm/Package.resolved | 12 +++---
CHANGELOG.md | 5 +++
LICENSE.md | 4 +-
MapboxMaps.podspec | 8 ++--
Package.resolved | 12 +++---
Package.swift | 6 +--
Sources/MapboxMaps/Info.plist | 4 +-
Sources/MapboxMaps/MapboxMaps.json | 2 +-
.../MapboxMaps/Style/Style+Localization.swift | 4 +-
.../Helpers/Encodable+JsonString.swift | 2 +-
.../ExpressionTests/FormatOptionsTests.swift | 8 ++--
.../Style/StyleIntegrationTests.swift | 2 +-
.../Style/StyleTransitionTests.swift | 2 +-
baselines/binary-size/MapboxMaps.json | 38 +++++++++----------
project.yml | 1 +
.../release/packager/create-xcframework.sh | 4 +-
scripts/release/packager/versions.json | 6 +--
17 files changed, 64 insertions(+), 56 deletions(-)
diff --git a/Apps/Apps.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Apps/Apps.xcworkspace/xcshareddata/swiftpm/Package.resolved
index fbe06ad75f4e..ba0759f698fc 100644
--- a/Apps/Apps.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ b/Apps/Apps.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -15,8 +15,8 @@
"repositoryURL": "https://github.com/mapbox/mapbox-common-ios.git",
"state": {
"branch": null,
- "revision": "c2aa7022afdcf5a070ace4e3b608562101a04690",
- "version": "23.10.1"
+ "revision": "462930ede08570c1636601c5d5bdad35c6d96330",
+ "version": "23.11.0"
}
},
{
@@ -24,8 +24,8 @@
"repositoryURL": "https://github.com/mapbox/mapbox-core-maps-ios.git",
"state": {
"branch": null,
- "revision": "51f776b11bcff34ced88fcf14e4ed9c568257232",
- "version": "10.18.0"
+ "revision": "a46690fa9a8def6a5b77f380082bccdf63170a02",
+ "version": "10.19.1"
}
},
{
@@ -33,8 +33,8 @@
"repositoryURL": "https://github.com/mapbox/mapbox-events-ios.git",
"state": {
"branch": null,
- "revision": "91ae071c0232c144251dfe0d0724525deaf293d4",
- "version": "1.0.10"
+ "revision": "990bab73cf50242a05f29b6a9cfeb30592150c13",
+ "version": "2.0.0"
}
},
{
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ea980a6ebd31..8e53a68ee3b4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,11 @@
Mapbox welcomes participation and contributions from everyone.
+# 10.19.0 - September 24, 2024
+
+* Remove bitcode from framework binaries across the stack
+* Update MapboxCoreMaps to 10.19.1 and MapboxCommon to 23.11.0, MapboxMobileEvents to 2.0.0
+
# 10.18.2 - June 12, 2024
* Update Turf to 2.8.0
diff --git a/LICENSE.md b/LICENSE.md
index 0ce6ec901910..3bdc07d15ca6 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,6 +1,6 @@
## License
-Mapbox Maps for iOS version 10.18.2
+Mapbox Maps for iOS version 10.19.0
Mapbox Maps iOS SDK
Copyright © 2021 - 2024 Mapbox, Inc. All rights reserved.
@@ -31,7 +31,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
---
-### MapboxCoreMaps,10.18.0,Mapbox ToS,Mapbox,https://www.mapbox.com/
+### MapboxCoreMaps,10.19.0,Mapbox ToS,Mapbox,https://www.mapbox.com/
```
Mapbox Core Maps version 10.0
diff --git a/MapboxMaps.podspec b/MapboxMaps.podspec
index d32f074877f1..b5836977a07d 100644
--- a/MapboxMaps.podspec
+++ b/MapboxMaps.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |m|
- maps_version = '10.18.2'
+ maps_version = '10.19.0'
m.name = 'MapboxMaps'
m.version = maps_version
@@ -25,9 +25,9 @@ Pod::Spec.new do |m|
# TODO: remove after Cocoapods 1.12 is released
m.pod_target_xcconfig = { 'CODE_SIGNING_ALLOWED' => 'NO' }
- m.dependency 'MapboxCoreMaps', '10.18.0'
- m.dependency 'MapboxMobileEvents', '1.0.10'
- m.dependency 'MapboxCommon', '23.10.1'
+ m.dependency 'MapboxCoreMaps', '10.19.1'
+ m.dependency 'MapboxMobileEvents', '2.0.0'
+ m.dependency 'MapboxCommon', '23.11.0'
m.dependency 'Turf', '2.8.0'
end
diff --git a/Package.resolved b/Package.resolved
index fbe06ad75f4e..ba0759f698fc 100644
--- a/Package.resolved
+++ b/Package.resolved
@@ -15,8 +15,8 @@
"repositoryURL": "https://github.com/mapbox/mapbox-common-ios.git",
"state": {
"branch": null,
- "revision": "c2aa7022afdcf5a070ace4e3b608562101a04690",
- "version": "23.10.1"
+ "revision": "462930ede08570c1636601c5d5bdad35c6d96330",
+ "version": "23.11.0"
}
},
{
@@ -24,8 +24,8 @@
"repositoryURL": "https://github.com/mapbox/mapbox-core-maps-ios.git",
"state": {
"branch": null,
- "revision": "51f776b11bcff34ced88fcf14e4ed9c568257232",
- "version": "10.18.0"
+ "revision": "a46690fa9a8def6a5b77f380082bccdf63170a02",
+ "version": "10.19.1"
}
},
{
@@ -33,8 +33,8 @@
"repositoryURL": "https://github.com/mapbox/mapbox-events-ios.git",
"state": {
"branch": null,
- "revision": "91ae071c0232c144251dfe0d0724525deaf293d4",
- "version": "1.0.10"
+ "revision": "990bab73cf50242a05f29b6a9cfeb30592150c13",
+ "version": "2.0.0"
}
},
{
diff --git a/Package.swift b/Package.swift
index cf14312e9681..5c6618282661 100644
--- a/Package.swift
+++ b/Package.swift
@@ -13,10 +13,10 @@ let package = Package(
targets: ["MapboxMaps"]),
],
dependencies: [
- .package(name: "MapboxCoreMaps", url: "https://github.com/mapbox/mapbox-core-maps-ios.git", .exact("10.18.0")),
+ .package(name: "MapboxCoreMaps", url: "https://github.com/mapbox/mapbox-core-maps-ios.git", .exact("10.19.1")),
// We keep MME dependency for compatibility reasons
- .package(name: "MapboxMobileEvents", url: "https://github.com/mapbox/mapbox-events-ios.git", .exact("1.0.10")),
- .package(name: "MapboxCommon", url: "https://github.com/mapbox/mapbox-common-ios.git", .exact("23.10.1")),
+ .package(name: "MapboxMobileEvents", url: "https://github.com/mapbox/mapbox-events-ios.git", .exact("2.0.0")),
+ .package(name: "MapboxCommon", url: "https://github.com/mapbox/mapbox-common-ios.git", .exact("23.11.0")),
.package(name: "Turf", url: "https://github.com/mapbox/turf-swift.git", .exact("2.8.0")),
.package(name: "CocoaImageHashing", url: "https://github.com/ameingast/cocoaimagehashing", .exact("1.9.0"))
],
diff --git a/Sources/MapboxMaps/Info.plist b/Sources/MapboxMaps/Info.plist
index 1ed51071df09..b900b8f3d26f 100644
--- a/Sources/MapboxMaps/Info.plist
+++ b/Sources/MapboxMaps/Info.plist
@@ -15,8 +15,8 @@
CFBundlePackageType
$(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString
- 10.18.2
+ 10.19.0
CFBundleVersion
- 90
+ 91
diff --git a/Sources/MapboxMaps/MapboxMaps.json b/Sources/MapboxMaps/MapboxMaps.json
index 2fb4a9d51bff..948da4e6ec21 100644
--- a/Sources/MapboxMaps/MapboxMaps.json
+++ b/Sources/MapboxMaps/MapboxMaps.json
@@ -1,3 +1,3 @@
{
- "version" : "10.18.2"
+ "version" : "10.19.0"
}
diff --git a/Sources/MapboxMaps/Style/Style+Localization.swift b/Sources/MapboxMaps/Style/Style+Localization.swift
index 5407d0a602c3..aad49da1e8c8 100644
--- a/Sources/MapboxMaps/Style/Style+Localization.swift
+++ b/Sources/MapboxMaps/Style/Style+Localization.swift
@@ -108,7 +108,9 @@ extension Style {
options: .caseInsensitive)
if case .expression(let textField) = symbolLayer.textField {
- var stringExpression = String(decoding: try JSONEncoder().encode(textField), as: UTF8.self)
+ guard var stringExpression = String(data: try JSONEncoder().encode(textField), encoding: .utf8) else {
+ return nil
+ }
stringExpression.updateOnceExpression(replacement: replacement, regex: expressionCoalesce)
stringExpression.updateExpression(replacement: replacement, regex: expressionAbbr)
diff --git a/Tests/MapboxMapsTests/Helpers/Encodable+JsonString.swift b/Tests/MapboxMapsTests/Helpers/Encodable+JsonString.swift
index ea6e686c9d76..fe6f9500e7a4 100644
--- a/Tests/MapboxMapsTests/Helpers/Encodable+JsonString.swift
+++ b/Tests/MapboxMapsTests/Helpers/Encodable+JsonString.swift
@@ -2,6 +2,6 @@ import Foundation
extension Encodable {
func jsonString() throws -> String {
- try String(decoding: JSONEncoder().encode(self), as: UTF8.self)
+ try String(data: JSONEncoder().encode(self), encoding: .utf8)!
}
}
diff --git a/Tests/MapboxMapsTests/Style/ExpressionTests/FormatOptionsTests.swift b/Tests/MapboxMapsTests/Style/ExpressionTests/FormatOptionsTests.swift
index 9e706b7bc6a8..2c88b6538fdf 100644
--- a/Tests/MapboxMapsTests/Style/ExpressionTests/FormatOptionsTests.swift
+++ b/Tests/MapboxMapsTests/Style/ExpressionTests/FormatOptionsTests.swift
@@ -96,7 +96,7 @@ final class FormatOptionsTests: XCTestCase {
XCTAssertEqual(encoded["font-scale"] as? Double, 1)
XCTAssertEqual(encoded["text-font"] as? [String], ["Open Sans Semibold", "Arial Unicode MS Bold"])
XCTAssertEqual(
- String(decoding: try JSONSerialization.data(withJSONObject: encoded["text-color"] as Any), as: UTF8.self),
+ String(data: try JSONSerialization.data(withJSONObject: encoded["text-color"] as Any), encoding: .utf8),
##"["case",[">=",["to-number",["get","point_count"]],4],"#ffffff","#000000"]"##
)
}
@@ -136,15 +136,15 @@ final class FormatOptionsTests: XCTestCase {
let encoded = try DictionaryEncoder().encode(formatOptions)
XCTAssertEqual(
- String(decoding: try JSONSerialization.data(withJSONObject: encoded["font-scale"] as Any), as: UTF8.self),
+ String(data: try JSONSerialization.data(withJSONObject: encoded["font-scale"] as Any), encoding: .utf8),
#"["case",[">=",["to-number",["get","point_count"]],4],1,2]"#
)
XCTAssertEqual(
- String(decoding: try JSONSerialization.data(withJSONObject: encoded["text-font"] as Any), as: UTF8.self),
+ String(data: try JSONSerialization.data(withJSONObject: encoded["text-font"] as Any), encoding: .utf8),
#"["case",[">=",["to-number",["get","point_count"]],4],["Open Sans Semibold"],["Arial Unicode MS Bold"]]"#
)
XCTAssertEqual(
- String(decoding: try JSONSerialization.data(withJSONObject: encoded["text-color"] as Any), as: UTF8.self),
+ String(data: try JSONSerialization.data(withJSONObject: encoded["text-color"] as Any), encoding: .utf8),
##"["case",[">=",["to-number",["get","point_count"]],4],"#ffffff","#000000"]"##
)
}
diff --git a/Tests/MapboxMapsTests/Style/StyleIntegrationTests.swift b/Tests/MapboxMapsTests/Style/StyleIntegrationTests.swift
index d09ffeef9c0a..2f7cdde84ec8 100644
--- a/Tests/MapboxMapsTests/Style/StyleIntegrationTests.swift
+++ b/Tests/MapboxMapsTests/Style/StyleIntegrationTests.swift
@@ -247,7 +247,7 @@ internal class StyleIntegrationTests: MapViewIntegrationTestCase {
let convertedExpression = try! style!.convertExpressionForLocalization(symbolLayer: symbolLayer, localeValue: "zh")
let data = try! JSONSerialization.data(withJSONObject: convertedExpression!, options: [.prettyPrinted])
- let convertedString = String(decoding: data, as: UTF8.self).replacingOccurrences(of: " ", with: "").replacingOccurrences(of: "\n", with: "")
+ let convertedString = String(data: data, encoding: .utf8)!.replacingOccurrences(of: " ", with: "").replacingOccurrences(of: "\n", with: "")
let result = "[\"format\",[\"coalesce\",[\"get\",\"name_zh\"],[\"get\",\"name\"]]]"
XCTAssertEqual(result, convertedString)
diff --git a/Tests/MapboxMapsTests/Style/StyleTransitionTests.swift b/Tests/MapboxMapsTests/Style/StyleTransitionTests.swift
index fe20acbb202b..3ab250d21f7e 100644
--- a/Tests/MapboxMapsTests/Style/StyleTransitionTests.swift
+++ b/Tests/MapboxMapsTests/Style/StyleTransitionTests.swift
@@ -16,7 +16,7 @@ class StyleTransitionTests: XCTestCase {
func testEncodeHasCorrectConversion() {
let transition = StyleTransition(duration: 1.0, delay: 0.5)
let encodedTransition = try! JSONEncoder().encode(transition)
- let dataString = String(decoding: encodedTransition, as: UTF8.self)
+ let dataString = String(data: encodedTransition, encoding: .utf8)
XCTAssertEqual(dataString, jsonString)
}
diff --git a/baselines/binary-size/MapboxMaps.json b/baselines/binary-size/MapboxMaps.json
index 78c7a3d8a70a..53201cbf0762 100644
--- a/baselines/binary-size/MapboxMaps.json
+++ b/baselines/binary-size/MapboxMaps.json
@@ -1,33 +1,33 @@
{
"binary_name": "MapboxMaps.xcframework",
- "created": "2022-12-19T12:10:20.121611",
- "binary_size": 19613669,
+ "created": "2024-09-24T12:45:57.753990",
+ "binary_size": 12698407,
"platform": {
- "MapboxMaps_iphoneos_arm64": 2405512,
- "MapboxMaps_iphoneos_arm64_bitcodeSize": 15695872,
- "MapboxMaps_iphoneos_arm64_debugSymbolsSize": 190104,
+ "MapboxMaps_iphoneos_arm64": 2444040,
+ "MapboxMaps_iphoneos_arm64_bitcodeSize": 0,
+ "MapboxMaps_iphoneos_arm64_debugSymbolsSize": 196920,
"MapboxMaps_iphoneos_arm64_humanReadableSize": "2.3 MB",
- "MapboxMaps_iphonesimulator_arm64": 2409568,
+ "MapboxMaps_iphonesimulator_arm64": 2481536,
"MapboxMaps_iphonesimulator_arm64_bitcodeSize": 0,
- "MapboxMaps_iphonesimulator_arm64_debugSymbolsSize": 189664,
- "MapboxMaps_iphonesimulator_arm64_humanReadableSize": "2.3 MB",
- "MapboxMaps_iphonesimulator_x86_64": 2475840,
+ "MapboxMaps_iphonesimulator_arm64_debugSymbolsSize": 196416,
+ "MapboxMaps_iphonesimulator_arm64_humanReadableSize": "2.4 MB",
+ "MapboxMaps_iphonesimulator_x86_64": 2564512,
"MapboxMaps_iphonesimulator_x86_64_bitcodeSize": 0,
- "MapboxMaps_iphonesimulator_x86_64_debugSymbolsSize": 190080,
+ "MapboxMaps_iphonesimulator_x86_64_debugSymbolsSize": 197072,
"MapboxMaps_iphonesimulator_x86_64_humanReadableSize": "2.4 MB"
},
"core": {},
"build": {
- "build": 56338,
+ "build": 141708,
"project": "mapbox-maps-ios",
"branch": "HEAD",
- "sha": "96b72437db29820c0431cfdfd67e7e3cd860fece",
- "author": "Mai Mai",
- "timestamp": 1671438467,
- "message": "Fix assertion failure\n",
- "xcode": "Xcode 13.1 Build version 13A1030d",
- "metrics-sha": "b5adb2df9eeed65aab59adcd584e5b4822f0a67f"
+ "sha": "b0d5af27c954b1ec6a04cedbbb04907bd4356bc0",
+ "author": "Aleksei Sapitskii",
+ "timestamp": 1727181797,
+ "message": "Disable bitcode in iOS SDK\n",
+ "xcode": "Xcode 14.1 Build version 14B47b",
+ "metrics-sha": "b0d5af27c954b1ec6a04cedbbb04907bd4356bc0"
},
- "name": "ios-maps-v10",
+ "name": "ios-maps-v10-benchmark",
"version": "3"
-}
+}
\ No newline at end of file
diff --git a/project.yml b/project.yml
index a30c97bf2fbf..599fd6103c40 100644
--- a/project.yml
+++ b/project.yml
@@ -16,6 +16,7 @@ settings:
GCC_WARN_64_TO_32_BIT_CONVERSION: $(GCC_WARN_64_TO_32_BIT_CONVERSION)
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER: "YES"
MTL_FAST_MATH: "YES"
+ ENABLE_BITCODE: "NO"
configs:
Debug:
ONLY_ACTIVE_ARCH: "YES"
diff --git a/scripts/release/packager/create-xcframework.sh b/scripts/release/packager/create-xcframework.sh
index 61d9ffc61d12..805ca8015f9c 100755
--- a/scripts/release/packager/create-xcframework.sh
+++ b/scripts/release/packager/create-xcframework.sh
@@ -38,7 +38,7 @@ xcodebuild archive \
ARCHS='x86_64 arm64' \
EXCLUDED_ARCHS= \
MACH_O_TYPE="$MACH_O_TYPE" \
- ENABLE_BITCODE=YES \
+ ENABLE_BITCODE=NO \
LLVM_LTO=NO
# Create iOS Device Framework
@@ -57,7 +57,7 @@ xcodebuild archive \
ARCHS='arm64' \
EXCLUDED_ARCHS= \
MACH_O_TYPE="$MACH_O_TYPE" \
- ENABLE_BITCODE=YES \
+ ENABLE_BITCODE=NO \
LLVM_LTO=NO
# Create XCFramework
diff --git a/scripts/release/packager/versions.json b/scripts/release/packager/versions.json
index 04178caf249c..fe417026bdb5 100644
--- a/scripts/release/packager/versions.json
+++ b/scripts/release/packager/versions.json
@@ -1,6 +1,6 @@
{
- "MapboxCoreMaps": "10.18.0",
- "MapboxMobileEvents": "v1.0.10",
- "MapboxCommon": "23.10.1",
+ "MapboxCoreMaps": "10.19.1",
+ "MapboxMobileEvents": "v2.0.0",
+ "MapboxCommon": "23.11.0",
"Turf": "v2.8.0"
}