mirror of
https://github.com/flutter/packages.git
synced 2025-05-28 19:26:50 +08:00
[google_sign_in_ios] Upgrade GoogleSignIn iOS SDK to 7.1 (#6404)
1. Update GoogleSignIn iOS SDK dependency to [7.1](https://github.com/google/GoogleSignIn-iOS/releases/tag/7.1.0), which supports privacy manifests. 1. Update "fetch deps step" to run `pod repo update` every time to avoid missing spec failure. Also added a fetch deps step to the all_packages builds, since those could also use a `pod repo update` but I didn't want to add more logic to those bash scripts. ``` [!] CocoaPods could not find compatible versions for pod "GoogleSignIn": In Podfile: google_sign_in_ios (from `Flutter/ephemeral/.symlinks/plugins/google_sign_in_ios/darwin`) was resolved to 0.0.1, which depends on GoogleSignIn (~> 7.1) None of your spec sources contain a spec satisfying the dependency: `GoogleSignIn (~> 7.1)`. ``` https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8752192509749702705/+/u/Run_package_tests/download_Dart_and_iOS_deps/stdout 3. Looks like the new versions of [`GTMSessionFetcher`](https://github.com/CocoaPods/Specs/blob/master/Specs/c/e/3/GTMSessionFetcher/3.3.2/GTMSessionFetcher.podspec.json) and [`AppAuth`](https://github.com/CocoaPods/Specs/blob/master/Specs/b/b/9/AppAuth/1.7.3/AppAuth.podspec.json) don't define modules, so there's an error building it statically: ``` [!] The following Swift pods cannot yet be integrated as static libraries: The Swift pod `GTMAppAuth` depends upon `GTMSessionFetcher` and `AppAuth`, which do not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set `use_modular_headers!` globally in your Podfile, or specify `:modular_headers => true` for particular dependencies. ``` I filed https://github.com/google/gtm-session-fetcher/issues/384 and https://github.com/openid/AppAuth-iOS/issues/844. In the meantime, I updated the example apps to `use_frameworks!`, which would be on for Flutter Swift apps, but not Objective-C ones. We could add something to the tool to detect this case, and suggest `use_frameworks!` be added? 4. Even though google_sign_in_ios does not contain Swift files, for some reason, there is a "pod lib lint" warning complaining `swift_version` isn't set. This seems related to `GTMAppAuth` dependency constraint that went from an Objective-C-only to Swift pod. So I set `swift_version` since it's harmless. ``` - WARN | swift: The validator used Swift `4.0` by default because no Swift version was specified. To specify a Swift version during validation, add the `swift_versions` attribute in your podspec. Note that usage of a `.swift-version` file is now deprecated. ``` https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8752100979634945505/+/u/Run_package_tests/validate_iOS_and_macOS_podspecs/stdout ## Issues * Fixes https://github.com/flutter/flutter/issues/145777 * Fixes https://github.com/flutter/flutter/issues/145866 * See also https://github.com/flutter/flutter/issues/137140
This commit is contained in:
@ -409,6 +409,11 @@ void main() {
|
||||
<String>['precache', '--ios'],
|
||||
null,
|
||||
),
|
||||
const ProcessCall(
|
||||
'pod',
|
||||
<String>['repo', 'update'],
|
||||
null,
|
||||
),
|
||||
for (final Directory directory in exampleDirs)
|
||||
ProcessCall(
|
||||
'flutter',
|
||||
@ -436,6 +441,7 @@ void main() {
|
||||
.mockProcessesForExecutable[getFlutterCommand(mockPlatform)] =
|
||||
<FakeProcessInfo>[
|
||||
FakeProcessInfo(MockProcess(), <String>['precache']),
|
||||
FakeProcessInfo(MockProcess(), <String>['repo', 'update']),
|
||||
FakeProcessInfo(MockProcess(exitCode: 1),
|
||||
<String>['build', 'ios', '--config-only']),
|
||||
];
|
||||
@ -516,6 +522,11 @@ void main() {
|
||||
<String>['precache', '--macos'],
|
||||
null,
|
||||
),
|
||||
const ProcessCall(
|
||||
'pod',
|
||||
<String>['repo', 'update'],
|
||||
null,
|
||||
),
|
||||
for (final Directory directory in exampleDirs)
|
||||
ProcessCall(
|
||||
'flutter',
|
||||
@ -543,6 +554,7 @@ void main() {
|
||||
.mockProcessesForExecutable[getFlutterCommand(mockPlatform)] =
|
||||
<FakeProcessInfo>[
|
||||
FakeProcessInfo(MockProcess(), <String>['precache']),
|
||||
FakeProcessInfo(MockProcess(), <String>['repo', 'update']),
|
||||
FakeProcessInfo(MockProcess(exitCode: 1),
|
||||
<String>['build', 'macos', '--config-only']),
|
||||
];
|
||||
|
Reference in New Issue
Block a user