अहम जानकारी: Apple, 1 मई, 2024 से GoogleSignIn-iOS के साथ-साथ, आम तौर पर इस्तेमाल किए जाने वाले SDK टूल का इस्तेमाल करने वाले iOS ऐप्लिकेशन के लिए, निजता मेनिफ़ेस्ट और हस्ताक्षर स्वीकार करना ज़रूरी कर देगा. 1 मई, 2024 से पहले, GoogleSignIn-iOS v7.1.0+ वर्शन पर अपग्रेड करें. हमारी अपग्रेड गाइड देखें.
Google आपकी पसंदीदा भाषा में कॉन्टेंट का अनुवाद करने के लिए, एआई टेक्नोलॉजी का इस्तेमाल करता है. एआई से मिले अनुवादों में गलतियां हो सकती हैं.
iOS और macOS के SDK टूल में Google साइन-इन की जानकारी
संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
रिलीज़ नहीं किया गया
सर्वर की गड़बड़ी के जवाब में, error कुंजी के तहत नॉन-स्ट्रिंग वैल्यू होने पर, क्रैश होने की समस्या को ठीक किया गया. ईएमएम एरर हैंडलर ने -hasPrefix: को जो भी वैल्यू मौजूद थी उस पर भेज दिया. इससे किसी नंबर, कलेक्शन या ऑब्जेक्ट पर, पहचान न किए जा सकने वाले सिलेक्टर का अपवाद बढ़ गया.
Device Policy ऐप्लिकेशन को रीस्टार्ट करने के बाद, साइन इन जारी रखने पर कस्टम nonce और अनुरोध किए गए टोकन claims के ड्रॉप होने की समस्या को ठीक किया गया.
AppCheckCore 12.x के लिए, Swift Package Manager की सुविधा जोड़ी गई है. इससे Firebase 13 के साथ काम करने की सुविधा चालू हो जाती है. CocoaPods के इंस्टॉलेशन, AppCheckCore 11.x तक ही सीमित रहेंगे. (#626)
App Check की तैयारी पूरी न होने पर भी, उसे सफल के तौर पर रिकॉर्ड किए जाने की गड़बड़ी को ठीक किया गया. इस गड़बड़ी की वजह से, -[GIDSignIn configureWithCompletion:] को किए जाने वाले बाद के कॉल, फिर से कोशिश किए बिना ही सफल होने की रिपोर्ट करते थे. (#626)
AppCheckCore 11.x (इसमें CocoaPods के सभी इंस्टॉलेशन शामिल हैं) के साथ, App Check की सेवा देने वाली ऐसी कस्टम कंपनी जो न तो टोकन देती है और न ही गड़बड़ी का मैसेज, उसे अब kGIDAppCheckUnexpectedError के साथ फ़ेल होने के बजाय सफल माना जाता है. (#626)
GIDGoogleUser के टोकन पर डेटा रेस की समस्या को ठीक किया गया. एक साथ कई टोकन अपडेट करने पर, ऐक्सेस, रीफ़्रेश, और आईडी टोकन को एक साथ अलग-अलग थ्रेड से लिखा जा सकता है. साथ ही, रीडर को कुछ हद तक अपडेट किया गया सेट दिख सकता है. तीनों टोकन अब एक स्नैपशॉट के तौर पर एक साथ पब्लिश किए जाते हैं.
GIDGoogleUser के accessToken, refreshToken, और idToken अब उस स्नैपशॉट से लिए गए हैं. इसलिए, इनमें से किसी भी प्रॉपर्टी की वैल्यू में बदलाव होने पर, सभी प्रॉपर्टी के की-वैल्यू ऑब्ज़र्वर को सूचना दी जाती है. ऐसा सिर्फ़ तब नहीं होता, जब उस प्रॉपर्टी की वैल्यू में बदलाव होता है.
जब GIDGoogleUser अपने इंटरनल लॉक को होल्ड करता है, तब उन प्रॉपर्टी के की-वैल्यू ऑब्ज़र्वर को सूचना दी जाती है. ऑब्ज़र्वर से उसी उपयोगकर्ता को वापस कॉल करना ठीक है. हालांकि, ऑब्ज़र्वर को किसी दूसरे थ्रेड पर सिंक्रोनस तरीके से इंतज़ार नहीं करना चाहिए (उदाहरण के लिए, dispatch_sync के साथ), जो उसी उपयोगकर्ता को अपडेट कर रहा है.
ईएमएम की समस्या को ठीक करने वाले डायलॉग को दबाए जाने की समस्या को ठीक किया गया. यह समस्या, ऐप्लिकेशन के बाकी बचे लाइफ़टाइम के लिए होती थी. ऐसा तब होता था, जब कोई मुख्य विंडो उपलब्ध न होने पर एक गड़बड़ी आती थी. अब हर एग्ज़िट पाथ पर, pending-dialog फ़्लैग को हटा दिया गया है. साथ ही, इसे हटाने की प्रोसेस को रीड के साथ सिंक कर दिया गया है.
ईएमएम की गड़बड़ी की वजह से टोकन का अनुरोध पूरा नहीं हो पाया. इसे ठीक करें. कभी-कभी, kGIDSignInErrorCodeEMM के बजाय OAuth की गड़बड़ी की जानकारी दी जाती है. ऐसा तब होता है, जब समस्या को ठीक करने के लिए कोई डायलॉग बॉक्स नहीं दिखाया जा सकता.
ईएमएम से जुड़ी उस गड़बड़ी को ठीक किया गया है जो समस्या हल करने वाला डायलॉग बॉक्स पहले से दिखने के दौरान हुई थी. इसे kGIDSignInErrorCodeEMM के बजाय, kGIDSignInErrorCodeUnknown (या टोकन के अनुरोध के लिए, OAuth से जुड़ी गड़बड़ी) के तौर पर रिपोर्ट किया गया था. कोई दूसरा डायलॉग नहीं दिखता.
10.0.0
अहम जानकारी: AppAuth 3.0.0 और GTMAppAuth 6.0.0 पर अपडेट करें. इससे, डिप्लॉयमेंट के लिए ज़रूरी कम से कम टारगेट, iOS 15.0 और macOS 12.0 हो जाते हैं. साथ ही, GTMSessionFetcher डिपेंडेंसी को बड़ा किया जाता है, ताकि 4.x और 5.x को अनुमति दी जा सके. इसके अलावा, Swift Package Manager मेनिफ़ेस्ट के वर्शन के हिसाब से नाम बदलकर Package@swift-5.7.swift कर दिया जाता है. जिन प्रोजेक्ट को ओएस के पुराने वर्शन के साथ काम करना जारी रखना है उन्हें GoogleSignIn 9.2.0 का इस्तेमाल करना चाहिए. (#628)
GIDSignIn.wrapperIdentifier जोड़ें, ताकि Google साइन-इन को एम्बेड करने वाले SDK टूल, नए gidwrapper पैरामीटर की मदद से Google के डाइग्नोस्टिक लॉग में खुद की पहचान कर सकें. यह सुविधा ऑप्ट-इन करने पर मिलती है. साथ ही, पहले से मौजूद व्यवहार में कोई बदलाव नहीं होता. (#625)
साइन-इन बटन के आइकॉन को ग्रेडिएंट Google G (#633) में अपडेट करें
GIDClaim फ़ैक्ट्री मेथड के Swift नामों को पिन करें. इसके लिए, साफ़ तौर पर NS_SWIFT_NAME एनोटेशन का इस्तेमाल करें. इंपोर्ट किए गए Swift नामों में कोई बदलाव नहीं किया गया है (#627)
टोकन को सही तरीके से कोड में बदलने के लिए, NSURLComponents का इस्तेमाल करें (#618)
emmSupport के nil होने पर, additionalTokenRefreshParameters में क्रैश होने की समस्या को ठीक किया गया (#608)
इंटरनल
नए पैरामीटर के लिए, SDK टूल के लॉगिंग पैरामीटर को इकट्ठा करना (#616)
टेस्ट में, अब इस्तेमाल नहीं किए जा रहे संग्रह करने वाले एपीआई के इस्तेमाल को अपडेट करना (#449)
7.1.0-fac-beta-1.1.0
बीटा रिलीज़ में, Firebase App Check टोकन इस्तेमाल करने की सुविधा जोड़ी गई है. इन टोकन का इस्तेमाल, Google से साइन इन करते समय आपके ऐप्लिकेशन की इंटिग्रिटी को बनाए रखने के लिए किया जाता है
v7.1.0 में रिलीज़ की गई निजता मेनिफ़ेस्ट की सुविधा जोड़ी गई
इंटरनल
सबमिट करने से पहले दिए गए निर्देश के लिए, इंटिग्रेशन टेस्ट देखें (#368)
इंटिग्रेशन की प्रोसेस को स्किप करने की सुविधा को टेस्ट करने के लिए कुंजी (#374)
App Check की रिलीज़ ब्रांच में निजता मेनिफ़ेस्ट जोड़ना (#392)
-[GIDSignIn restorePreviousSignIn:] को कॉल करने से पहले, पक्का करें कि completion की वैल्यू शून्य न हो (#301)
GitHub वर्कफ़्लो में macos-11 रनर को हटाता है (#302)
बटन के नाम का रेफ़रंस अपडेट किया गया, ताकि यूज़र इंटरफ़ेस (यूआई) के ऑटोमेशन टेस्ट पास हो सकें (#308)
7.1.0-fac-beta-1.0.0
बीटा रिलीज़ में, Firebase App Check टोकन इस्तेमाल करने की सुविधा जोड़ी गई है. इन टोकन का इस्तेमाल, Google से साइन इन करते समय आपके ऐप्लिकेशन की इंटिग्रिटी को बनाए रखने के लिए किया जाता है
इंटरनल
SignInSample Podfile के लिए, iOS के कम से कम वर्शन को अपडेट करें (#355)
लगातार इंटिग्रेशन (#356) के दौरान पास होने के लिए, AppCheckExample यूनिट टेस्ट टारगेट को अपडेट करें
7.1.0-fac-eap-1.0.0
Early Access Program (EAP) की रिलीज़ में, Firebase App Check टोकन इस्तेमाल करने की सुविधा जोड़ी गई है. इनका इस्तेमाल, Google से साइन इन करते समय आपके ऐप्लिकेशन की सुरक्षा की पुष्टि करने के लिए किया जाता है
-[GIDSignIn configureWithCompletion:] का इस्तेमाल करके, GSI को कॉन्फ़िगर करें, ताकि आपके ऐप्लिकेशन में Firebase App Check का इस्तेमाल जल्द से जल्द किया जा सके. इससे इंतज़ार का समय कम हो जाता है.
SwiftUI को दिखाने वाला Swift का नया सैंपल ऐप्लिकेशन.
(#63)
Mac Catalyst के लिए सहायता.
addScopes को लागू करने के तरीके में सुधार.
(#68,
#70)
6.0.2
पक्का करें कि लाइब्रेरी के तौर पर बनाए जाने पर, मॉड्यूल इंपोर्ट का इस्तेमाल किया जा सके.
(#53)
6.0.1
signIn और addScopes तरीकों के लिए, नेस्ट किए गए कॉलबैक को कॉल न किए जाने की समस्या को ठीक किया गया.
(#29)
6.0.0
iOS पर Google साइन इन की सुविधा अब ओपन सोर्स है.
Swift Package Manager की सुविधा.
M1 Mac पर Simulator के लिए सहायता.
एपीआई सरफ़ेस से जुड़े अपडेट
GIDSignIn
sharedInstance अब एक क्लास प्रॉपर्टी है.
signIn अब signInWithConfiguration:presentingViewController:callback: है और यह हमेशा प्रोफ़ाइल की बुनियादी जानकारी के स्कोप का अनुरोध करता है.
addScopes:presentingViewController:callback:, साइन इन कर चुके उपयोगकर्ता की बुनियादी प्रोफ़ाइल के अलावा, अन्य स्कोप जोड़ने का नया तरीका है.
restorePreviousSignIn अब restorePreviousSignInWithCallback: है.
disconnect अब disconnectWithCallback: है.
GIDSignInDelegate प्रोटोकॉल को हटा दिया गया है. इसकी जगह, GIDSignInCallback और GIDDisconnectCallback ब्लॉक का इस्तेमाल किया जाएगा.
साइन-इन फ़्लो की सभी कॉन्फ़िगरेशन प्रॉपर्टी, GIDConfiguration पर ले जाई गई हैं.
GIDConfiguration क्लास को जोड़ा गया था, ताकि किसी उपयोगकर्ता को साइन इन करने के लिए ज़रूरी कॉन्फ़िगरेशन को दिखाया जा सके.
GIDAuthentication
getTokensWithHandler: अब doWithFreshTokens: है.
GIDAuthenticationHandler typedef का नाम बदलकर GIDAuthenticationAction कर दिया गया है.
refreshTokensWithHandler: को हटा दिया गया है. इसके बजाय, doWithFreshTokens: का इस्तेमाल करें.
GIDSignInButton अब GIDSignIn को इंटरनल कॉल नहीं करता. साइन-इन फ़्लो शुरू करने के लिए, आपको signInWithConfiguration:presentingViewController:callback: को कॉल करना होगा. इसके लिए, आपको IBAction या इससे मिलते-जुलते किसी अन्य टूल से कनेक्ट करना होगा.
5.0.2
साइन-इन के दौरान, iOS के सहमति वाले डायलॉग बॉक्स को रद्द करने पर, signIn:didSignInForUser:withError: को भेजे जाने वाले गड़बड़ी के गलत कोड को ठीक किया गया.
5.0.1
iOS 13 पर साइन इन करने की प्रोसेस सही तरीके से शुरू न हो पाने की समस्या को ठीक किया गया है.
ज़िप डिस्ट्रिब्यूशन के लिए, Xcode 11 या इसके बाद का वर्शन ज़रूरी है.
5.0.0
GIDSignIn में बदलाव
uiDelegate को presentingViewController से बदल दिया गया है.
hasAuthInKeychain को hasPreviousSignIn से बदल दिया गया है.
signInSilently को restorePreviousSignIn से बदल दिया गया है.
kGIDSignInErrorCodeNoSignInHandlersInstalled गड़बड़ी का कोड हटाया गया, जो अब इस्तेमाल में नहीं है.
GIDAuthentication में बदलाव
इस्तेमाल से बाहर हो चुके तरीके getAccessTokenWithHandler: और refreshAccessTokenWithHandler: हटा दिए गए हैं.
GIDGoogleUser में बदलाव
अब काम न करने वाली प्रॉपर्टी accessibleScopes को हटा दिया गया है. इसके बजाय, grantedScopes का इस्तेमाल करें.
AppAuth और GTMAppAuth पर डिपेंडेंसी जोड़ता है.
GoogleToolboxForMac पर निर्भरता को हटाता है.
iOS 7 के लिए सहायता बंद की गई.
4.4.0
GTM OAuth 2 पर निर्भरता को हटाता है.
4.3.0
Google के एंटरप्राइज़ मोबाइल मैनेजमेंट के साथ काम करता है.
4.2.0
grantedScopes को GIDGoogleUser में जोड़ता है. इससे यह पुष्टि की जा सकती है कि साइन इन करने के बाद, किन स्कोप को अनुमति दी गई है.
GIDGoogleUser में accessibleScopes के इस्तेमाल पर रोक लगा दी गई है. इसके बजाय, grantedScopes का इस्तेमाल करें.
GIDSignInButton को hi (हिन्दी) और fr-CA (फ़्रेंच (कनाडा)) के लिए स्थानीय भाषा में उपलब्ध कराता है.
सिस्टम LocalAuthentication फ़्रेमवर्क में डिपेंडेंसी जोड़ता है.
4.1.2
GoogleSignIn CocoaPod के लिए pod try सहायता जोड़ें.
4.1.1
उस समस्या को ठीक किया गया है जिसकी वजह से iOS 11 पर GIDSignInUIDelegate का signInWillDispatch:error: कॉल नहीं किया जा रहा था. कृपया ध्यान दें कि iOS 11 पर न तो signIn:presentViewController: और न ही signIn:dismissViewController: को कॉल किया जाता है. ऐसा इसलिए, क्योंकि SFAuthenticationSession को ऐप्लिकेशन के व्यू कंट्रोलर से प्रज़ेंट नहीं किया जाता.
4.1.0
iOS 11 पर SFAuthenticationSession का इस्तेमाल करता है.
4.0.2
अब GoogleAppUtilities पर निर्भर नहीं है.
4.0.1
ओपन सोर्स पॉड डिपेंडेंसी पर स्विच करता है.
साइन-इन बटन का दिखना, अब अनुरोध किए गए स्कोप पर निर्भर नहीं करता.
4.0.0
GoogleSignIn पॉड अब स्टैटिक फ़्रेमवर्क के तौर पर काम करता है. Objective-C में #import <GoogleSignIn/GoogleSignIn.h> का इस्तेमाल करके इंपोर्ट करें.
मॉड्यूल की सुविधा जोड़ी गई. अगर मॉड्यूल चालू है, तो Objective-C में भी @import GoogleSignIn; का इस्तेमाल किया जा सकता है. साथ ही, Swift में ब्रिज-हेडर का इस्तेमाल किए बिना import GoogleSignIn का इस्तेमाल किया जा सकता है.
स्टैंड-अलोन zip डिस्ट्रिब्यूशन के उपयोगकर्ताओं के लिए, अब कई फ़्रेमवर्क उपलब्ध कराए गए हैं. इन सभी को किसी प्रोजेक्ट में जोड़ना ज़रूरी है. इस डिकंपोज़िशन से, डुप्लीकेट डिपेंडेंसी के मामले में ज़्यादा आसानी होती है.
GIDSignIn से, बंद किए गए तरीके checkGoogleSignInAppInstalled को हटा दिया गया है.
GIDSignIn से allowsSignInWithBrowser और allowsSignInWithWebView प्रॉपर्टी हटाता है.
अब बंडल आईडी को यूआरएल स्कीम के तौर पर जोड़ने की ज़रूरत नहीं है.
3.0.0
यह GIDProfileData पर givenName और familyName प्रॉपर्टी उपलब्ध कराता है.
इससे GIDSignIn पर loginHint प्रॉपर्टी को सेट किया जा सकता है, ताकि साइन इन फ़्लो में उपयोगकर्ता का आईडी या ईमेल पता पहले से भरा जा सके.
GIDSignInButton से UIViewController(SignIn) कैटगरी और delegate प्रॉपर्टी को हटा दिया गया है.
इसके लिए, ज़रूरी है कि uiDelegate को GIDSignIn पर सही तरीके से सेट किया गया हो और SafariServices फ़्रेमवर्क को लिंक किया गया हो.
StoreKit पर निर्भरता को हटाता है.
बिट कोड की सुविधा देता है.
Xcode 6 के साथ बिटकोड काम नहीं करता. इसलिए, Xcode 7.0 या इसके बाद के वर्शन की ज़रूरत होती है.
2.4.0
साइन-इन बटन को Google के नए लोगो के साथ अपडेट किया गया.
साइन इन करने के लिए, डोमेन से जुड़ी पाबंदी की सुविधा काम करती हो.
इससे आईडी टोकन रीफ़्रेश किए जा सकते हैं.
2.3.2
अब Xcode 7 की ज़रूरत नहीं है.
2.3.1
GIDProfileData के imageURLWithDimension: में क्रैश होने की समस्या को ठीक किया गया है.
2.3.0
इसके लिए, Xcode 7.0 या इसके बाद का वर्शन ज़रूरी है.
iOS 9 पर साइन इन करने के लिए, SFSafariViewController का इस्तेमाल करता है. इस सुविधा का इस्तेमाल करने के लिए, uiDelegate को सेट करना ज़रूरी है.
उपयोगकर्ता की प्रोफ़ाइल फ़ेच करने की प्रोसेस को ऑप्टिमाइज़ करता है.
GIDAuthentication में GTMFetcherAuthorizationProtocol के साथ काम करता है.
2.2.0
iOS 9 (बीटा वर्शन) के साथ काम करता है. ध्यान दें कि साइन-इन एसडीके के इस वर्शन में बिट कोड शामिल नहीं है. इसलिए, अगर Xcode 7 का इस्तेमाल किया जा रहा है, तो आपको अपने प्रोजेक्ट में ENABLE_BITCODE को NO पर सेट करना होगा.
GIDSignInButton के ऑटो लेआउट की सीमाओं के लिए, ब्यौरे वाले आइडेंटिफ़ायर जोड़ता है.
signInSilently के लिए, अब uiDelegate को सेट करने की ज़रूरत नहीं है.
2.1.0
GIDSignInButton के साथ ऑटो लेआउट की समस्याएं ठीक की गईं.
GIDAuthentication में ऐक्सेस टोकन को रीफ़्रेश करने के लिए एपीआई जोड़ता है.
GIDSignIn में असाइन नहीं किए गए clientID के लिए, अपवाद का बेहतर ब्यौरा.
अन्य छोटी-मोटी गड़बड़ियां ठीक की गईं.
2.0.1
गड़बड़ी ठीक करना
2.0.0
यह ब्राउज़र पर ऐप्लिकेशन स्विच करने के बजाय, UIWebView की मदद से साइन-इन करने की सुविधा देता है. इसे नई allowsSignInWithWebView प्रॉपर्टी की मदद से कॉन्फ़िगर किया जा सकता है.
अब जिन ऐप्लिकेशन ने allowsSignInWithBrowser प्रॉपर्टी के ज़रिए ब्राउज़र पर स्विच करने की सुविधा और allowsSignInWithWebView प्रॉपर्टी के ज़रिए इन-ऐप्लिकेशन वेब व्यू की सुविधा बंद कर दी है उनके पास एक प्रॉम्प्ट दिखाने का विकल्प है. इस प्रॉम्प्ट में उपयोगकर्ता को App Store से Google ऐप्लिकेशन डाउनलोड करने का निर्देश दिया जाता है.
ऑटो-लेआउट की सुविधा चालू होने पर, साइन-इन बटन के साइज़ से जुड़ी समस्या को ठीक किया गया
signInSilently अब गड़बड़ी के साथ डेलिगेट को कॉल करता है, जब hasAuthInKeychain
दस्तावेज़ के मुताबिक NO होता है
अन्य छोटी-मोटी गड़बड़ियां ठीक की गईं
1.0.0
साइन-इन करने की सुविधा पर फ़ोकस करने वाला नया एसडीके टूल, जिसमें एपीआई को अपडेट किया गया है
कॉन्टेक्स्ट के हिसाब से ब्रैंडिंग के साथ, डाइनैमिक तौर पर रेंडर किया गया साइन-इन बटन
[[["समझने में आसान है","easyToUnderstand","thumb-up"],["मेरी समस्या हल हो गई","solvedMyProblem","thumb-up"],["अन्य","otherUp","thumb-up"]],[["वह जानकारी मौजूद नहीं है जो मुझे चाहिए","missingTheInformationINeed","thumb-down"],["बहुत मुश्किल है / बहुत सारे चरण हैं","tooComplicatedTooManySteps","thumb-down"],["पुराना","outOfDate","thumb-down"],["अनुवाद से जुड़ी समस्या","translationIssue","thumb-down"],["सैंपल / कोड से जुड़ी समस्या","samplesCodeIssue","thumb-down"],["अन्य","otherDown","thumb-down"]],["आखिरी बार 2026-10-16 (UTC) को अपडेट किया गया."],[],[]]