diff --git a/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md b/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md index 88ed91b01746..49f18ad9f308 100644 --- a/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md +++ b/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 5.8.0 +* Adds Swift Package Manager compatibility. * Updates minimum supported SDK version to Flutter 3.19/Dart 3.3. ## 5.7.6 diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Assets/.gitkeep b/packages/google_sign_in/google_sign_in_ios/darwin/Assets/.gitkeep deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Tests/GoogleSignInTests.m b/packages/google_sign_in/google_sign_in_ios/darwin/Tests/GoogleSignInTests.m index 1d49c9865f1c..6ec7f9088628 100644 --- a/packages/google_sign_in/google_sign_in_ios/darwin/Tests/GoogleSignInTests.m +++ b/packages/google_sign_in/google_sign_in_ios/darwin/Tests/GoogleSignInTests.m @@ -11,7 +11,9 @@ @import XCTest; @import google_sign_in_ios; +#if __has_include() @import google_sign_in_ios.Test; +#endif @import GoogleSignIn; // OCMock library doesn't generate a valid modulemap. diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios.podspec b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios.podspec index 4b3749d4f86f..d2abc7c07b98 100644 --- a/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios.podspec +++ b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios.podspec @@ -13,8 +13,9 @@ Enables Google Sign-In in Flutter apps. s.author = { 'Flutter Team' => 'flutter-dev@googlegroups.com' } s.source = { :http => 'https://github.com/flutter/packages/tree/main/packages/google_sign_in/google_sign_in_ios' } s.source_files = 'Classes/**/*.{h,m}' - s.public_header_files = 'Classes/**/*.h' - s.module_map = 'Classes/FLTGoogleSignInPlugin.modulemap' + s.source_files = 'google_sign_in_ios/Sources/google_sign_in_ios/**/*.{h,m}' + s.public_header_files = 'google_sign_in_ios/Sources/google_sign_in_ios/include/**/*.h' + s.module_map = 'google_sign_in_ios/Sources/google_sign_in_ios/include/FLTGoogleSignInPlugin.modulemap' # AppAuth and GTMSessionFetcher are GoogleSignIn transitive dependencies. # Depend on versions which defines modules. @@ -33,5 +34,5 @@ Enables Google Sign-In in Flutter apps. # GoogleSignIn depending a Swift pod (GTMAppAuth). s.swift_version = '5.0' - s.resource_bundles = {'google_sign_in_ios_privacy' => ['Resources/PrivacyInfo.xcprivacy']} + s.resource_bundles = {'google_sign_in_ios_privacy' => ['google_sign_in_ios/Sources/google_sign_in_ios/Resources/PrivacyInfo.xcprivacy']} end diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Package.swift b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Package.swift new file mode 100644 index 000000000000..3e5404f0adb9 --- /dev/null +++ b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Package.swift @@ -0,0 +1,52 @@ +// swift-tools-version: 5.9 + +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import PackageDescription + +let package = Package( + name: "google_sign_in_ios", + platforms: [ + .iOS("12.0"), + .macOS("10.15"), + ], + products: [ + .library(name: "google-sign-in-ios", targets: ["google_sign_in_ios"]) + ], + dependencies: [ + // AppAuth and GTMSessionFetcher are GoogleSignIn transitive dependencies. + // Depend on versions which define modules. + .package( + url: "https://github.com/openid/AppAuth-iOS.git", + from: "1.7.4"), + .package( + url: "https://github.com/google/gtm-session-fetcher.git", + from: "3.4.0"), + .package( + url: "https://github.com/google/GoogleSignIn-iOS.git", + from: "7.1.0"), + ], + targets: [ + .target( + name: "google_sign_in_ios", + dependencies: [ + .product(name: "GoogleSignIn", package: "GoogleSignIn-iOS") + ], + exclude: [ + "include/google_sign_in_ios-umbrella.h", "include/FLTGoogleSignInPlugin.modulemap", + ], + resources: [ + .process("Resources") + ], + cSettings: [ + .headerSearchPath("include/google_sign_in_ios"), + + // Ignore AppAuth's warnings. + // https://github.com/openid/AppAuth-iOS/issues/703 + .unsafeFlags(["-w"]), + ] + ) + ] +) diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin.m b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/FLTGoogleSignInPlugin.m similarity index 99% rename from packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin.m rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/FLTGoogleSignInPlugin.m index 99ee0348f518..75d11b0264af 100644 --- a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin.m +++ b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/FLTGoogleSignInPlugin.m @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "FLTGoogleSignInPlugin.h" -#import "FLTGoogleSignInPlugin_Test.h" +#import "./include/google_sign_in_ios/FLTGoogleSignInPlugin.h" +#import "./include/google_sign_in_ios/FLTGoogleSignInPlugin_Test.h" #import diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Resources/PrivacyInfo.xcprivacy b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/Resources/PrivacyInfo.xcprivacy similarity index 100% rename from packages/google_sign_in/google_sign_in_ios/darwin/Resources/PrivacyInfo.xcprivacy rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/Resources/PrivacyInfo.xcprivacy diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin.modulemap b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/FLTGoogleSignInPlugin.modulemap similarity index 100% rename from packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin.modulemap rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/FLTGoogleSignInPlugin.modulemap diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/google_sign_in_ios-umbrella.h b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios-umbrella.h similarity index 100% rename from packages/google_sign_in/google_sign_in_ios/darwin/Classes/google_sign_in_ios-umbrella.h rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios-umbrella.h diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin.h b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios/FLTGoogleSignInPlugin.h similarity index 100% rename from packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin.h rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios/FLTGoogleSignInPlugin.h diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin_Test.h b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios/FLTGoogleSignInPlugin_Test.h similarity index 100% rename from packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin_Test.h rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios/FLTGoogleSignInPlugin_Test.h diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/messages.g.h b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios/messages.g.h similarity index 100% rename from packages/google_sign_in/google_sign_in_ios/darwin/Classes/messages.g.h rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios/messages.g.h diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/messages.g.m b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/messages.g.m similarity index 99% rename from packages/google_sign_in/google_sign_in_ios/darwin/Classes/messages.g.m rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/messages.g.m index 96d6b54232a5..2ec6ea32d0e1 100644 --- a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/messages.g.m +++ b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/messages.g.m @@ -4,7 +4,7 @@ // Autogenerated from Pigeon (v11.0.1), do not edit directly. // See also: https://pub.dev/packages/pigeon -#import "messages.g.h" +#import "./include/google_sign_in_ios/messages.g.h" #if TARGET_OS_OSX #import diff --git a/packages/google_sign_in/google_sign_in_ios/example/ios/Podfile b/packages/google_sign_in/google_sign_in_ios/example/ios/Podfile index 66f053d0a5e7..16330c1eb50e 100644 --- a/packages/google_sign_in/google_sign_in_ios/example/ios/Podfile +++ b/packages/google_sign_in/google_sign_in_ios/example/ios/Podfile @@ -26,8 +26,7 @@ end require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) # Suppress warnings from transitive dependencies that cause analysis to fail. -pod 'AppAuth', :inhibit_warnings => true -pod 'GTMAppAuth', :inhibit_warnings => true +inhibit_all_warnings! flutter_ios_podfile_setup @@ -35,8 +34,6 @@ target 'Runner' do flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) target 'RunnerTests' do inherit! :search_paths - - pod 'OCMock','3.5' end end diff --git a/packages/google_sign_in/google_sign_in_ios/example/ios/Runner.xcodeproj/project.pbxproj b/packages/google_sign_in/google_sign_in_ios/example/ios/Runner.xcodeproj/project.pbxproj index 03e7451a827f..872fbded1f88 100644 --- a/packages/google_sign_in/google_sign_in_ios/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/google_sign_in/google_sign_in_ios/example/ios/Runner.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 403C71302C66A2E50034A230 /* OCMock in Frameworks */ = {isa = PBXBuildFile; productRef = 403C712F2C66A2E50034A230 /* OCMock */; }; 5C6F5A6E1EC3B4CB008D64B5 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C6F5A6D1EC3B4CB008D64B5 /* GeneratedPluginRegistrant.m */; }; 78A36DA12AF5761E00CBFD43 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7A303C2D1E89D76400B1F19E /* GoogleService-Info.plist */; }; 7ACDFB0E1E8944C400BE2D00 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7ACDFB0D1E8944C400BE2D00 /* AppFrameworkInfo.plist */; }; @@ -94,6 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 403C71302C66A2E50034A230 /* OCMock in Frameworks */, C56D3B06A42F3B35C1F47A43 /* libPods-RunnerTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -245,6 +247,9 @@ F76AC1A82666D0540040C8BC /* PBXTargetDependency */, ); name = RunnerTests; + packageProductDependencies = ( + 403C712F2C66A2E50034A230 /* OCMock */, + ); productName = RunnerTests; productReference = F76AC1A22666D0540040C8BC /* RunnerTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; @@ -300,6 +305,9 @@ Base, ); mainGroup = 97C146E51CF9000F007C117D; + packageReferences = ( + 403C712E2C66A2E50034A230 /* XCRemoteSwiftPackageReference "ocmock" */, + ); productRefGroup = 97C146EF1CF9000F007C117D /* Products */; projectDirPath = ""; projectRoot = ""; @@ -766,6 +774,25 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 403C712E2C66A2E50034A230 /* XCRemoteSwiftPackageReference "ocmock" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/erikdoe/ocmock"; + requirement = { + kind = revision; + revision = fe1661a3efed11831a6452f4b1a0c5e6ddc08c3d; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 403C712F2C66A2E50034A230 /* OCMock */ = { + isa = XCSwiftPackageProductDependency; + package = 403C712E2C66A2E50034A230 /* XCRemoteSwiftPackageReference "ocmock" */; + productName = OCMock; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 97C146E61CF9000F007C117D /* Project object */; } diff --git a/packages/google_sign_in/google_sign_in_ios/example/macos/Podfile b/packages/google_sign_in/google_sign_in_ios/example/macos/Podfile index 39a6656a7742..b52666a10389 100644 --- a/packages/google_sign_in/google_sign_in_ios/example/macos/Podfile +++ b/packages/google_sign_in/google_sign_in_ios/example/macos/Podfile @@ -34,8 +34,6 @@ target 'Runner' do target 'RunnerTests' do inherit! :search_paths end - - pod 'OCMock','3.5' end post_install do |installer| diff --git a/packages/google_sign_in/google_sign_in_ios/example/macos/Runner.xcodeproj/project.pbxproj b/packages/google_sign_in/google_sign_in_ios/example/macos/Runner.xcodeproj/project.pbxproj index 062eccea1799..6995f2628864 100644 --- a/packages/google_sign_in/google_sign_in_ios/example/macos/Runner.xcodeproj/project.pbxproj +++ b/packages/google_sign_in/google_sign_in_ios/example/macos/Runner.xcodeproj/project.pbxproj @@ -28,6 +28,7 @@ 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; + 403C71332C66A4F70034A230 /* OCMock in Frameworks */ = {isa = PBXBuildFile; productRef = 403C71322C66A4F70034A230 /* OCMock */; }; D7B8415A3D20001DE212873D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A19720E5189178660264EC3F /* Pods_Runner.framework */; }; F107B1B7E4ECB85727EC4286 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BD1DCE969A7E7C76D9CF93C /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ @@ -97,6 +98,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 403C71332C66A4F70034A230 /* OCMock in Frameworks */, F107B1B7E4ECB85727EC4286 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -229,6 +231,9 @@ 331C80DA294CF71000263BE5 /* PBXTargetDependency */, ); name = RunnerTests; + packageProductDependencies = ( + 403C71322C66A4F70034A230 /* OCMock */, + ); productName = RunnerTests; productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; @@ -294,6 +299,9 @@ Base, ); mainGroup = 33CC10E42044A3C60003C045; + packageReferences = ( + 403C71312C66A4F70034A230 /* XCRemoteSwiftPackageReference "ocmock" */, + ); productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -790,6 +798,25 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 403C71312C66A4F70034A230 /* XCRemoteSwiftPackageReference "ocmock" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/erikdoe/ocmock"; + requirement = { + kind = revision; + revision = fe1661a3efed11831a6452f4b1a0c5e6ddc08c3d; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 403C71322C66A4F70034A230 /* OCMock */ = { + isa = XCSwiftPackageProductDependency; + package = 403C71312C66A4F70034A230 /* XCRemoteSwiftPackageReference "ocmock" */; + productName = OCMock; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 33CC10E52044A3C60003C045 /* Project object */; } diff --git a/packages/google_sign_in/google_sign_in_ios/example/macos/Runner/AppDelegate.swift b/packages/google_sign_in/google_sign_in_ios/example/macos/Runner/AppDelegate.swift index 5cec4c48f620..689c0ecd5254 100644 --- a/packages/google_sign_in/google_sign_in_ios/example/macos/Runner/AppDelegate.swift +++ b/packages/google_sign_in/google_sign_in_ios/example/macos/Runner/AppDelegate.swift @@ -5,7 +5,7 @@ import Cocoa import FlutterMacOS -@NSApplicationMain +@main class AppDelegate: FlutterAppDelegate { override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { return true diff --git a/packages/google_sign_in/google_sign_in_ios/pigeons/messages.dart b/packages/google_sign_in/google_sign_in_ios/pigeons/messages.dart index c540ee7b60f8..85d8362e26d5 100644 --- a/packages/google_sign_in/google_sign_in_ios/pigeons/messages.dart +++ b/packages/google_sign_in/google_sign_in_ios/pigeons/messages.dart @@ -6,9 +6,14 @@ import 'package:pigeon/pigeon.dart'; @ConfigurePigeon(PigeonOptions( dartOut: 'lib/src/messages.g.dart', - objcOptions: ObjcOptions(prefix: 'FSI'), - objcHeaderOut: 'darwin/Classes/messages.g.h', - objcSourceOut: 'darwin/Classes/messages.g.m', + objcHeaderOut: + 'darwin/google_sign_in_ios/Sources/google_sign_in/include/google_sign_in/messages.g.h', + objcSourceOut: + 'darwin/google_sign_in_ios/Sources/google_sign_in/messages.g.m', + objcOptions: ObjcOptions( + prefix: 'FSI', + headerIncludePath: './include/google_sign_in/messages.g.h', + ), copyrightHeader: 'pigeons/copyright.txt', )) diff --git a/packages/google_sign_in/google_sign_in_ios/pubspec.yaml b/packages/google_sign_in/google_sign_in_ios/pubspec.yaml index c86af4d3f0e0..fa581c5edec9 100644 --- a/packages/google_sign_in/google_sign_in_ios/pubspec.yaml +++ b/packages/google_sign_in/google_sign_in_ios/pubspec.yaml @@ -2,7 +2,7 @@ name: google_sign_in_ios description: iOS implementation of the google_sign_in plugin. repository: https://github.com/flutter/packages/tree/main/packages/google_sign_in/google_sign_in_ios issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+google_sign_in%22 -version: 5.7.6 +version: 5.8.0 environment: sdk: ^3.3.0