Ważne: od 1 maja 2024 r. firma Apple wymaga plików manifestu dotyczących prywatności i podpisów w przypadku aplikacji na iOS, które korzystają z powszechnie używanych pakietów SDK, w tym GoogleSignIn-iOS. Przejdź na GoogleSignIn-iOS w wersji 7.1.0 lub nowszej przed 1 maja 2024 r. Postępuj zgodnie z naszym przewodnikiem po uaktualnieniu.
Google używa technologii AI do tłumaczenia treści na Twój preferowany język. Tłumaczenia wygenerowane przez AI mogą zawierać błędy.
Informacje o wersji pakietów SDK do logowania przez Google na iOS i macOS
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Nieopublikowane
Naprawiono błąd powodujący awarię, gdy odpowiedź serwera na błąd zawierała wartość niebędącą ciągiem znaków pod kluczem error. Obsługa błędów EMM wysłała wartość -hasPrefix: do dowolnej wartości, która była obecna, powodując wyjątek nierozpoznanego selektora w przypadku liczby, tablicy lub obiektu.
Naprawiono problem z utratą niestandardowego parametru nonce i żądanego tokena claims, gdy logowanie jest kontynuowane po ponownym uruchomieniu aplikacji Device Policy.
10.0.0
WAŻNE: zaktualizowano biblioteki AppAuth do wersji 3.0.0 i GTMAppAuth do wersji 6.0.0, co podnosi minimalne wersje docelowe wdrożenia do iOS 15.0 i macOS 12.0, rozszerza zależność GTMSessionFetcher, aby umożliwić wersje 4.x i 5.x, oraz zmienia nazwę manifestu Swift Package Manager dla konkretnej wersji na Package@swift-5.7.swift. Projekty, które muszą nadal obsługiwać starsze wersje systemu operacyjnego, powinny pozostać przy GoogleSignIn w wersji 9.2.0. (#628)
Dodaj GIDSignIn.wrapperIdentifier, aby pakiety SDK, które zawierają funkcję logowania przez Google, mogły się identyfikować w logach diagnostycznych Google za pomocą nowego parametru gidwrapper. Jest to opcja, z której można zrezygnować, a dotychczasowe działanie pozostaje bez zmian. (#625)
Zaktualizuj ikonę przycisku logowania na gradientowe logo G Google (#633).
Przypinanie nazw Swift GIDClaim metod fabrycznych z wyraźnymi NS_SWIFT_NAME adnotacjami; importowane nazwy Swift pozostają bez zmian (#627).
Używaj znaku NSURLComponents do prawidłowego kodowania tokenów (#618)
Naprawiono błąd w additionalTokenRefreshParameters, gdy emmSupport ma wartość nil (#608)
Wewnętrzne
Ujednolicenie parametrów rejestrowania pakietu SDK w celu przygotowania się na nowe parametry (#616)
Rozwiąż problem dotyczący produktu: swift-button-functional-test (#614)
Napraw importowanie SignInSample i dodaj próbkę do CI (#632)
Dodawanie do CI zadań podglądu Xcode 27, które nie blokują innych zadań (#629)
Zwiększenie docelowych wersji wdrożenia przykładowego pliku Podfile dla Xcode 27 (#634)
Zwiększenie zależności grupy bundlerów (#594, #630)
Przed wywołaniem funkcji -[GIDSignIn restorePreviousSignIn:] sprawdź, czy wartość completion nie jest równa nil (#301).
Usuwa macos-11 runnera w przepływach pracy GitHub (#302)
Aktualizacja nazwy przycisku, aby testy automatyzacji interfejsu użytkownika były zaliczane (#308)
7.1.0-fac-beta-1.0.0
Wersja beta obsługująca tokeny Sprawdzania aplikacji Firebase używane do potwierdzania integralności aplikacji podczas logowania się przez Google
Wewnętrzne
Aktualizacja minimalnej wersji iOS w pliku Podfile projektu SignInSample (#355)
Aktualizacja testu jednostkowego AppCheckExample, aby przechodził testy w trybie ciągłej integracji (#356)
7.1.0-fac-eap-1.0.0
Wersja programu wcześniejszego dostępu (EAP) obsługująca tokeny Sprawdzania aplikacji Firebase używane do potwierdzania integralności aplikacji podczas logowania się za pomocą Google.
Użyj -[GIDSignIn configureWithCompletion:], aby skonfigurować GSI do korzystania ze Sprawdzania aplikacji Firebase jak najwcześniej w aplikacji, aby zminimalizować czas oczekiwania.
Sprawdź, czy importy modułów mogą być używane, gdy są tworzone jako biblioteka.
(#53)
6.0.1
Naprawiono problem z nieprawidłowym wywoływaniem zagnieżdżonych wywołań zwrotnych w przypadku metod signIn i addScopes.
(#29)
6.0.0
Logowanie przez Google na iOS jest teraz dostępne jako open source.
Obsługa Swift Package Manager.
Obsługa symulatora na komputerach Mac z układem M1.
Aktualizacje interfejsu API
GIDSignIn
sharedInstance jest teraz właściwością klasy.
signIn to teraz signInWithConfiguration:presentingViewController:callback: i zawsze wysyła prośby o zakresy podstawowego profilu.
addScopes:presentingViewController:callback: to nowy sposób dodawania zakresów wykraczających poza podstawowy profil do aktualnie zalogowanego użytkownika.
restorePreviousSignIn to teraz restorePreviousSignInWithCallback:.
disconnect to teraz disconnectWithCallback:.
Protokół GIDSignInDelegate został usunięty na rzecz bloków GIDSignInCallback i GIDDisconnectCallback.
Wszystkie właściwości konfiguracji procesu logowania zostały przeniesione do sekcji GIDConfiguration.
Dodaliśmy klasę GIDConfiguration, aby reprezentowała konfigurację potrzebną do zalogowania użytkownika.
GIDAuthentication
getTokensWithHandler: to teraz doWithFreshTokens:.
Typ GIDAuthenticationHandler został zmieniony na GIDAuthenticationAction.
Funkcja refreshTokensWithHandler: została usunięta. Zamiast niej używaj funkcji doWithFreshTokens:.
GIDSignInButton nie dzwoni już wewnętrznie do GIDSignIn i musi być podłączony do IBAction lub podobnego urządzenia, aby umożliwić Ci dzwonienie do signInWithConfiguration:presentingViewController:callback: w celu rozpoczęcia procesu logowania.
5.0.2
Naprawia błąd polegający na wysyłaniu do signIn:didSignInForUser:withError: nieprawidłowego kodu błędu, gdy użytkownik anuluje okno z prośbą o zgodę na przetwarzanie danych osobowych w iOS podczas procesu logowania.
5.0.1
Rozwiązaliśmy problem, który powodował, że proces logowania nie mógł zostać prawidłowo uruchomiony w systemie iOS 13.
Usunięto wycofany kod błędu kGIDSignInErrorCodeNoSignInHandlersInstalled.
Zmiany w GIDAuthentication
Usunęliśmy wycofane metody getAccessTokenWithHandler: i refreshAccessTokenWithHandler:.
Zmiany w GIDGoogleUser
Usunięto wycofaną właściwość accessibleScopes. Zamiast niej używaj właściwości grantedScopes.
Dodaje zależności od AppAuth i GTMAppAuth.
Usuwa zależność od GoogleToolboxForMac.
Wycofanie obsługi systemu iOS 7.
4.4.0
Usuwa zależność od 2-etapowej autoryzacji OAuth w GTM.
4.3.0
Obsługuje zarządzanie urządzeniami mobilnymi w firmie Google.
4.2.0
Dodaje grantedScopes do GIDGoogleUser, co umożliwia potwierdzenie, które zakresy zostały przyznane po pomyślnym zalogowaniu.
Wycofuje accessibleScopes w GIDGoogleUser. Zamiast niej używaj grantedScopes.
Lokalizuje GIDSignInButton dla języków hi (hindi) i fr-CA (francuski (Kanada)).
Dodaje zależność do platformy systemowej LocalAuthentication.
4.1.2
Dodaj obsługę pod try w przypadku CocoaPod GoogleSignIn.
4.1.1
Rozwiązuje problem, który powodował, że w systemie iOS 11 nie wywoływano funkcji GIDSignInUIDelegatesignInWillDispatch:error:. Pamiętaj, że w iOS 11 nie należy wywoływać funkcji signIn:presentViewController: ani signIn:dismissViewController:, ponieważ SFAuthenticationSession nie jest prezentowany przez kontroler widoku aplikacji.
4.1.0
W systemie iOS 11 używa SFAuthenticationSession.
4.0.2
Nie zależy już od GoogleAppUtilities.
4.0.1
Przełącza się na zależności podów open source.
Wygląd przycisku logowania nie zależy już od żądanych zakresów.
4.0.0
Pod GoogleSignIn ma teraz postać statycznej struktury. Importuj za pomocą
#import <GoogleSignIn/GoogleSignIn.h> w Objective-C.
Dodaje obsługę modułów. Możesz też używać funkcji @import GoogleSignIn; w Objective-C, jeśli moduł jest włączony, oraz import GoogleSignIn w Swift bez używania pliku nagłówkowego mostka.
W przypadku użytkowników samodzielnej dystrybucji ZIP udostępniamy teraz kilka platform, które należy dodać do projektu. Taki podział zapewnia większą elastyczność w przypadku zduplikowanych zależności.
Usuwa wycofaną metodę checkGoogleSignInAppInstalled z GIDSignIn.
Usuwa właściwości allowsSignInWithBrowser i allowsSignInWithWebView z kolekcji GIDSignIn.
Nie wymaga już dodawania identyfikatora pakietu jako schematu URI adresu URL obsługiwanego przez aplikację.
3.0.0
Udostępnia właściwości givenName i familyName w GIDProfileData.
Umożliwia ustawienie właściwości loginHint w GIDSignIn, aby wstępnie wypełnić identyfikator lub adres e-mail użytkownika w procesie logowania.
Usunęliśmy kategorię UIViewController(SignIn) oraz właściwość delegate z GIDSignInButton.
Wymaga prawidłowego ustawienia uiDelegate na GIDSignIn i powiązania frameworka SafariServices.
Usuwa zależność od StoreKit.
Obsługuje kod bitowy.
Wymaga Xcode w wersji 7.0 lub nowszej ze względu na niezgodność kodu bitowego z Xcode 6.
2.4.0
Aktualizuje przycisk logowania, dodając nowe logo Google.
Obsługuje ograniczenie domeny w przypadku logowania.
Umożliwia odświeżanie tokenów tożsamości.
2.3.2
Nie wymaga już Xcode 7.
2.3.1
Rozwiązuje problem z awarią na urządzeniu imageURLWithDimension:, z którego korzysta GIDProfileData.
2.3.0
Wymaga Xcode w wersji 7.0 lub nowszej.
Używa SFSafariViewController do logowania się w iOS 9. Aby to zadziałało, musisz ustawić wartość uiDelegate.
Optymalizuje pobieranie profilu użytkownika.
Obsługa protokołu GTMFetcherAuthorizationProtocol w GIDAuthentication.
2.2.0
Zgodność z systemem iOS 9 (wersja beta). Pamiętaj, że ta wersja pakietu SDK do logowania nie zawiera kodu pośredniego, więc jeśli używasz Xcode 7, musisz ustawić w projekcie wartość ENABLE_BITCODE na NO.
Dodaje opisowe identyfikatory do ograniczeń automatycznego układu GIDSignInButton.
signInSilently nie wymaga już ustawienia uiDelegate.
2.1.0
Rozwiązuje problemy z automatycznym układem w przypadku elementu GIDSignInButton.
Dodaje interfejs API do odświeżania tokena dostępu w GIDAuthentication.
Lepszy opis wyjątku w przypadku nieprzypisanego identyfikatora klienta w GIDSignIn.
Inne drobne poprawki błędów.
2.0.1
Poprawki błędów
2.0.0
Obsługuje logowanie za pomocą UIWebView zamiast przełączania aplikacji do przeglądarki. Można to skonfigurować za pomocą nowej właściwości allowsSignInWithWebView.
Aplikacje, w których wyłączono przełączanie aplikacji na przeglądarkę za pomocą właściwości allowsSignInWithBrowser i widoku internetowego w aplikacji za pomocą właściwości allowsSignInWithWebView, mogą wyświetlać prośbę o pobranie aplikacji Google z App Store.
Rozwiązuje problem z rozmiarem przycisku logowania, gdy włączony jest automatyczny układ
signInSilently teraz wywołuje delegata z błędem, gdy hasAuthInKeychain
ma wartość NO zgodnie z dokumentacją
Inne drobne poprawki błędów
1.0.0
Nowy pakiet SDK do logowania z odświeżonym interfejsem API
Dynamicznie renderowany przycisk logowania z kontekstowym brandingiem
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2026-09-26 UTC."],[],[]]