Ei kuvausta

Matt Mathias 4150630cb5 Fix GIDKeychainHelperFake to actually create backing passwordStore 11 kuukautta sitten
.github 7f3d505197 Update iPhone simulator from 14 to 15. (#494) 1 vuosi sitten
GoogleSignIn 4150630cb5 Fix GIDKeychainHelperFake to actually create backing passwordStore 11 kuukautta sitten
GoogleSignInSwift 5da488f733 Add Privacy Manifest (#382) 2 vuotta sitten
Samples b1fe052ce4 Fix swift button integration test. (#497) 1 vuosi sitten
.cocoapods.yml c88adbd4df Add SwiftUI sample app (#63) 4 vuotta sitten
.gitignore aab6d2e5c8 Merge App Check beta branch to prep for launch (#428) 1 vuosi sitten
CHANGELOG.md f54b8c7aaa Add AppCheckCore version increase to CHANGELOG (#455) 1 vuosi sitten
CONTRIBUTING.md f8f05173e5 Initial open source project. 5 vuotta sitten
Gemfile 65fb3f1aa6 Update activesupport (#463) 1 vuosi sitten
Gemfile.lock 65fb3f1aa6 Update activesupport (#463) 1 vuosi sitten
GoogleSignIn.podspec d012143496 Update AppCheckCore dependency to v11 (#454) 1 vuosi sitten
GoogleSignInSwiftSupport.podspec 14b8ceff50 Update library to version 8 (#446) 1 vuosi sitten
LICENSE f8f05173e5 Initial open source project. 5 vuotta sitten
Package.swift f9ee48cc89 Fix Undefined symbols issue (#470) 1 vuosi sitten
README.md aa71a74f10 Remove pod try from README (#372) 2 vuotta sitten

README.md

Version Platform License unit_tests integration_tests

Google Sign-In for iOS and macOS

Get users into your apps quickly and securely, using a registration system they already use and trust—their Google account.

Visit our developer site for integration instructions, documentation, support information, and terms of service.

Getting Started

Try either the Objective-C or Swift sample app. For example, to demo the Objective-C sample project, you have two options:

  1. Using CocoaPod's install method:

    git clone https://github.com/google/GoogleSignIn-iOS
    cd GoogleSignIn-iOS/Samples/ObjC/SignInSample/
    pod install
    open SignInSampleForPod.xcworkspace
    
  2. Using Swift Package Manager:

    git clone https://github.com/google/GoogleSignIn-iOS
    open GoogleSignIn-iOS/Samples/ObjC/SignInSample/SignInSample.xcodeproj
    

If you would like to see a Swift example, take a look at Samples/Swift/DaysUntilBirthday.

Google Sign-In on macOS

Google Sign-In allows your users to sign-in to your native macOS app using their Google account and default browser. When building for macOS, the signInWithConfiguration: and addScopes: methods take a presentingWindow: parameter in place of presentingViewController:. Note that in order for your macOS app to store credientials via the Keychain on macOS, you will need to sign your app.

Mac Catalyst

Google Sign-In also supports iOS apps that are built for macOS via Mac Catalyst. In order for your Mac Catalyst app to store credientials via the Keychain on macOS, you will need to sign your app.

Using the Google Sign-In Button

There are several ways to add a 'Sign in with Google' button to your app, which path you choose will depend on your UI framework and target platform.

SwiftUI (iOS and macOS)

Creating a 'Sign in with Google' button in SwiftUI can be as simple as this:

GoogleSignInButton {
  GIDSignIn.sharedInstance.signIn(withPresenting: yourViewController) { signInResult, error in
      // check `error`; do something with `signInResult`
  }
}

This example takes advantage of the initializer's default argument for the view model. The default arguments for the view model will use the light scheme, the standard button style, and the normal button state. You can supply an instance of GoogleSignInButtonViewModel with different values for these properties to customize the button. This convenience initializer provides parameters that you can use to set these values as needed.

UIKit (iOS)

If you are not using SwiftUI to build your user interfaces, you can either create GIDSignInButton programmatically, or in a Xib/Storyboard. If you are writing programmatic UI code, it will look something like this:

let button = GIDSignInButton(frame: CGRect(<YOUR_RECT>))

AppKit (macOS)

Given that GIDSignInButton is implemented as a subclass of UIControl, it will not be available on macOS. You can instead use the SwiftUI Google sign-in button. Doing so will require that you wrap the SwiftUI button in a hosting view so that it will be available for use in AppKit.

let signInButton = GoogleSignInButton {
  GIDSignIn.sharedInstance.signIn(withPresenting: yourViewController) { signInResult, error in
      // check `error`; do something with `signInResult`
  }
}
let hostedButton = NSHostingView(rootView: signInButton)