Skip to content

Commit 04d2572

Browse files
[google_maps_flutter] Add iOS SDK 9.x support (#6902)
Expands the range of supported versions of the iOS Google Maps SDK to include 9.x. To ensure build compatibility coverage, this follows the previously-established model of making duplicate example apps with different min iOS versions, but without most of the tests (as described in example/README.md). The new `ios15` example directory is a duplicate of `ios14/` with: - The min project and Podfile versions upped to 15.0 (I've validated locally that this causes a build to get 9.0 of the SDK). - The integration tests and XCUITest are removed. - All but the main plugin XCTest tests are removed (that file is left mainly as a placeholder to add new unit tests if necessary). This does not remove the privacy manifest workaround for 8.4, as we still support 8.4; the resulting duplication should be harmless for now. See discussion in flutter/flutter#146838. Fixes flutter/flutter#149873
1 parent f116dd2 commit 04d2572

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+1628
-2
lines changed

packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 2.8.0
2+
3+
* Adds compatibility with SDK version 9.x for apps targetting iOS 15+.
4+
15
## 2.7.0
26

37
* Adds support for BitmapDescriptor classes `AssetMapBitmap` and `BytesMapBitmap`.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Platform Implementation Test App
2+
3+
This is a test app for manual testing and automated integration testing
4+
of this platform implementation. It is not intended to demonstrate actual use of
5+
this package, since the intent is that plugin clients use the app-facing
6+
package.
7+
8+
Unless you are making changes to this implementation package, this example is
9+
very unlikely to be relevant.
10+
11+
## Versions
12+
13+
This example requires iOS 15, so will select a 9.x GoogleMaps SDK version.
Loading
Loading
Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
[
2+
{
3+
"elementType": "geometry",
4+
"stylers": [
5+
{
6+
"color": "#242f3e"
7+
}
8+
]
9+
},
10+
{
11+
"elementType": "labels.text.fill",
12+
"stylers": [
13+
{
14+
"color": "#746855"
15+
}
16+
]
17+
},
18+
{
19+
"elementType": "labels.text.stroke",
20+
"stylers": [
21+
{
22+
"color": "#242f3e"
23+
}
24+
]
25+
},
26+
{
27+
"featureType": "administrative.locality",
28+
"elementType": "labels.text.fill",
29+
"stylers": [
30+
{
31+
"color": "#d59563"
32+
}
33+
]
34+
},
35+
{
36+
"featureType": "poi",
37+
"elementType": "labels.text.fill",
38+
"stylers": [
39+
{
40+
"color": "#d59563"
41+
}
42+
]
43+
},
44+
{
45+
"featureType": "poi.park",
46+
"elementType": "geometry",
47+
"stylers": [
48+
{
49+
"color": "#263c3f"
50+
}
51+
]
52+
},
53+
{
54+
"featureType": "poi.park",
55+
"elementType": "labels.text.fill",
56+
"stylers": [
57+
{
58+
"color": "#6b9a76"
59+
}
60+
]
61+
},
62+
{
63+
"featureType": "road",
64+
"elementType": "geometry",
65+
"stylers": [
66+
{
67+
"color": "#38414e"
68+
}
69+
]
70+
},
71+
{
72+
"featureType": "road",
73+
"elementType": "geometry.stroke",
74+
"stylers": [
75+
{
76+
"color": "#212a37"
77+
}
78+
]
79+
},
80+
{
81+
"featureType": "road",
82+
"elementType": "labels.text.fill",
83+
"stylers": [
84+
{
85+
"color": "#9ca5b3"
86+
}
87+
]
88+
},
89+
{
90+
"featureType": "road.highway",
91+
"elementType": "geometry",
92+
"stylers": [
93+
{
94+
"color": "#746855"
95+
}
96+
]
97+
},
98+
{
99+
"featureType": "road.highway",
100+
"elementType": "geometry.stroke",
101+
"stylers": [
102+
{
103+
"color": "#1f2835"
104+
}
105+
]
106+
},
107+
{
108+
"featureType": "road.highway",
109+
"elementType": "labels.text.fill",
110+
"stylers": [
111+
{
112+
"color": "#f3d19c"
113+
}
114+
]
115+
},
116+
{
117+
"featureType": "transit",
118+
"elementType": "geometry",
119+
"stylers": [
120+
{
121+
"color": "#2f3948"
122+
}
123+
]
124+
},
125+
{
126+
"featureType": "transit.station",
127+
"elementType": "labels.text.fill",
128+
"stylers": [
129+
{
130+
"color": "#d59563"
131+
}
132+
]
133+
},
134+
{
135+
"featureType": "water",
136+
"elementType": "geometry",
137+
"stylers": [
138+
{
139+
"color": "#17263c"
140+
}
141+
]
142+
},
143+
{
144+
"featureType": "water",
145+
"elementType": "labels.text.fill",
146+
"stylers": [
147+
{
148+
"color": "#515c6d"
149+
}
150+
]
151+
},
152+
{
153+
"featureType": "water",
154+
"elementType": "labels.text.stroke",
155+
"stylers": [
156+
{
157+
"color": "#17263c"
158+
}
159+
]
160+
}
161+
]
162+
Loading
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CFBundleDevelopmentRegion</key>
6+
<string>en</string>
7+
<key>CFBundleExecutable</key>
8+
<string>App</string>
9+
<key>CFBundleIdentifier</key>
10+
<string>io.flutter.flutter.app</string>
11+
<key>CFBundleInfoDictionaryVersion</key>
12+
<string>6.0</string>
13+
<key>CFBundleName</key>
14+
<string>App</string>
15+
<key>CFBundlePackageType</key>
16+
<string>FMWK</string>
17+
<key>CFBundleShortVersionString</key>
18+
<string>1.0</string>
19+
<key>CFBundleSignature</key>
20+
<string>????</string>
21+
<key>CFBundleVersion</key>
22+
<string>1.0</string>
23+
<key>UIRequiredDeviceCapabilities</key>
24+
<array>
25+
<string>arm64</string>
26+
</array>
27+
<key>MinimumOSVersion</key>
28+
<string>12.0</string>
29+
</dict>
30+
</plist>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2+
#include "Generated.xcconfig"
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2+
#include "Generated.xcconfig"
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Uncomment this line to define a global platform for your project
2+
platform :ios, '15.0'
3+
4+
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
5+
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
6+
7+
project 'Runner', {
8+
'Debug' => :debug,
9+
'Profile' => :release,
10+
'Release' => :release,
11+
}
12+
13+
def flutter_root
14+
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
15+
unless File.exist?(generated_xcode_build_settings_path)
16+
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
17+
end
18+
19+
File.foreach(generated_xcode_build_settings_path) do |line|
20+
matches = line.match(/FLUTTER_ROOT\=(.*)/)
21+
return matches[1].strip if matches
22+
end
23+
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
24+
end
25+
26+
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
27+
28+
flutter_ios_podfile_setup
29+
30+
target 'Runner' do
31+
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
32+
target 'RunnerTests' do
33+
inherit! :search_paths
34+
35+
pod 'OCMock', '~> 3.9.1'
36+
end
37+
end
38+
39+
post_install do |installer|
40+
installer.pods_project.targets.each do |target|
41+
flutter_additional_ios_build_settings(target)
42+
end
43+
end

0 commit comments

Comments
 (0)