Skip to content

Commit 7e3f5da

Browse files
[google_maps_flutter] Add examples for different iOS versions (#3757)
Improves the way we specify and test the `GoogleMaps` SDK dependency on iOS. Currently as discussed in flutter/flutter#86820, we are allowing any version of the SDK, and CocoaPods will choose the best version that's compatible with the minimum iOS deployment version of the plugin client's app. However, clients are also subject to future breakage, since any new major SDK version could have compile-time incompatibility with the plugin's wrapping code. We also have no ability to test anything in CI that's newer than the SDK that supports our oldest supported version (currently that's iOS 11, and thus 5.x). This makes two changes: - Replaces the single example with N examples, each with a different minimum iOS version, corresponding to each point where the Google Maps SDK has bumped its minimum iOS requirement. Currently (as documented in the new README file) - The oldest example has all of the current testing. - The newest example has just XCTests (not integration or XCUITests). - Intervening examples have no tests. - Instead of the completely unpinned version, we allow anything up to the next major version (which should be the first one with breaking API changes). This gives us build coverage of each of the (latest at CI runtime) resolve points that clients can have. We retain the flexibility of allowing clients to get the best version that meets their app's constraints, except that we will need to explicitly test and enable new major versions, so that they won't randomly break clients. Fixes flutter/flutter#86820
1 parent 746750e commit 7e3f5da

File tree

168 files changed

+3039
-87
lines changed

Some content is hidden

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

168 files changed

+3039
-87
lines changed

packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Lines changed: 44 additions & 7 deletions
Lines changed: 13 additions & 0 deletions

packages/google_maps_flutter/google_maps_flutter_ios/example/integration_test/google_maps_test.dart renamed to packages/google_maps_flutter/google_maps_flutter_ios/example/ios11/integration_test/google_maps_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import 'dart:ui' as ui;
88

99
import 'package:flutter/material.dart';
1010
import 'package:flutter_test/flutter_test.dart';
11-
import 'package:google_maps_flutter_example/example_google_map.dart';
1211
import 'package:google_maps_flutter_platform_interface/google_maps_flutter_platform_interface.dart';
1312
import 'package:integration_test/integration_test.dart';
13+
import 'package:maps_example_dart/example_google_map.dart';
1414

1515
const LatLng _kInitialMapCenter = LatLng(0, 0);
1616
const double _kInitialZoomLevel = 5;

0 commit comments

Comments
 (0)