ملاحظات إصدار حزمة تطوير البرامج (SDK) لنظام التشغيل iOS وmacOS من Google

Unreleased

  • تم إصلاح عُطل يحدث عندما تتضمّن استجابة خطأ في الخادم قيمة غير سلسلة ضمن المفتاح error. أرسل معالج الأخطاء في إدارة الخدمات الجوّالة للمؤسسات القيمة -hasPrefix: إلى أي قيمة كانت متوفّرة، ما أدّى إلى ظهور استثناء "محدّد غير معروف" على رقم أو صفيف أو عنصر.
  • إصلاح مشكلة عدم ظهور nonce مخصّص ورمز مميّز مطلوب claims عند مواصلة تسجيل الدخول بعد إعادة تشغيل تطبيق "سياسة الجهاز"

10.0.0

  • تغيير مهم: تمّ التحديث إلى الإصدار 3.0.0 من AppAuth والإصدار 6.0.0 من GTMAppAuth، ما أدّى إلى رفع الحدّ الأدنى من أنظمة التشغيل المستهدَفة للتفعيل إلى iOS 15.0 وmacOS 12.0، وتوسيع نطاق الاعتمادية GTMSessionFetcher للسماح بالإصدارين 4.x و5.x، وإعادة تسمية بيان "أداة إدارة حِزم Swift" الخاص بالإصدار إلى Package@swift-5.7.swift. يجب أن تبقى المشاريع التي يجب أن تواصل توفير الدعم لإصدارات نظام التشغيل القديمة على الإصدار 9.2.0 من GoogleSignIn. (#628)
  • أضِف GIDSignIn.wrapperIdentifier حتى تتمكّن حِزم تطوير البرامج (SDK) التي تضمّ خدمة "تسجيل الدخول باستخدام حساب Google" من تعريف نفسها تلقائيًا في سجلّات بيانات التشخيص من Google من خلال المَعلمة الجديدة gidwrapper. يجب الموافقة على تفعيلها، ولن يتغيّر السلوك الحالي. (#625)
  • تعديل رمز زرّ تسجيل الدخول إلى حرف G متدرّج الألوان من Google (#633)
  • تثبيت أسماء Swift لطُرق المصنع GIDClaim باستخدام تعليقات توضيحية NS_SWIFT_NAME صريحة، مع عدم تغيير أسماء Swift المستوردة (#627)
  • استخدِم NSURLComponents لترميز الرموز المميّزة بشكل صحيح (#618)
  • تم إصلاح عُطل في additionalTokenRefreshParameters عندما تكون قيمة emmSupport هي nil (#608)
  • داخلي
    • دمج مَعلمات تسجيل حِزم SDK للاستعداد لإضافة مَعلمات جديدة (#616)
    • إصلاح swift-button-functional-test (#614)
    • إصلاح عملية استيراد SignInSample وإضافة العيّنة إلى CI (#632)
    • إضافة مهام معاينة Xcode 27 غير الحظر إلى التكامل المستمر (#629)
    • رفع الحد الأدنى من إصدارات Podfile المتوافقة مع Xcode 27 (#634)
    • زيادة إصدارات التبعيات في مجموعة أدوات التجميع (#594 و#630)

9.2.0

  • عرض تاريخ انتهاء صلاحية الرمز المميز لإعادة التحميل (#577)
  • إتاحة طلب البيان amr (مراجع طرق المصادقة) (#600)
  • إزالة إدخالات سلسلة المفاتيح عند إجراء عملية تثبيت جديدة (#567)
  • تعديل الحد الأدنى لمتطلبات AppAuth-iOS إلى 2.1.0 (‎#603)
  • إصلاح معالجة الحِزم الاختيارية للسلاسل المترجمة (#373)
  • تضمين جميع العناوين العامة بدون شروط في العنوان الرئيسي (#595)
  • نقل عملية استيراد GIDSignInButton خارج التجميع الشرطي (#591)
  • داخلي
    • إصلاح تحذيرات إيقاف Swift Package Manager نهائيًا (#579)
    • تحسين تعليق المستند الخاص بـ GIDSignInButtonStyle (#204)
    • حلّ مشكلة التحذير بشأن الأطفال غير المعيّنين في مجموعة مواد العرض AppIcon (#348)
    • إعادة تصميم سير عمل GitHub Actions (#580)
    • ترقية GitHub Actions إلى أحدث الإصدارات لتكون متوافقة مع Node 24 (‎#592 و‎#593)

9.1.0

  • السماح بطلب claims (حاليًا، auth_time فقط) من خلال طُرق تسجيل الدخول (#550 و#552 و#553 و#569)
  • تعديل طرق addScopes: في GIDSignIn لتضمين claims التي تم طلبها سابقًا (#557)
  • داخلي
    • تعيين القيمة إلى keychainStore في أقرب وقت ممكن في أداة التهيئة (#540)
    • إضافة دعم للغة Swift 6 (#543 و#544 و#546)
    • تعديل مهام سير عمل GitHub Actions (#545 و#570)
    • تعديل نموذج تطبيق DaysUntilBirthday ليتوافق مع طلب auth_time (#555)
    • إعادة تسمية tokenClaims إلى claims في جميع أنحاء الرمز (#568)

9.0.0

  • السماح بتقديم nonce مخصّص من خلال GSI إلى AppAuth (#402، #476)
  • حلّ مشكلة رمز الخطأ غير الصالح في GIDSignIn (#472)
  • إتاحة GTMAppAuth 5 على أجهزة macOS (#522)
  • إصلاح الأخطاء في عملية نقل البيانات المحمية (#533)
  • داخلي
    • إضافة AppAuthCore كعنصر تابع صريح (#470)
    • تعديل محاكي iPhone من 14 إلى 15 (#494)
    • اختبار دمج زر الإصلاح السريع (#497)
    • تحديث برنامج التشغيل إلى الإصدار macos-13 (#498)
    • يجب تعديل "scorecards.yml" لاستخدام "upload-artifact@v4.6.2" (#516)
    • تعديل تبعيتَي AppAuth وGTMAppAuth (#517 و#521)
    • إصلاح اختبارات الدمج في Swift لمستخدم مكرّر الزيارة (#518)
    • تعديل .gitignore لتضمين .build وPackage.resolved (#520)
    • تعديل GIDSignInTest لإعداد NSUserDefaults وإيقافه بشكل صحيح (#527)

8.0.0

  • إصدار عام يضيف إمكانية استخدام خدمة فحص التطبيقات من Firebase لتحديد سلامة تطبيقك عند تسجيل الدخول باستخدام Google
  • تحديث الحد الأدنى من إصدار iOS المتوافق إلى الإصدار 12 (#445)
  • داخلي
    • تعديل اعتمادية AppCheckCore إلى الإصدار 11.0 (#454)
    • إضافة عملية إرجاع instancetype إلى أداة الاختبار المساعدة (#393)
    • إزالة الاستيراد النمطي لـ GTMSessionFetcher (#403)
    • تحديث activesupport من الإصدار 5.2.5 إلى الإصدار 5.2.8.1 في مجموعة الحزم (#429)
    • إزالة برنامج التشغيل القديم macos-11 (#447)
    • تعديل استخدام واجهة برمجة التطبيقات القديمة للأرشفة في الاختبارات (#449)

7.1.0-fac-beta-1.1.0

  • إصدار تجريبي يتيح استخدام رموز مميّزة من خدمة فحص التطبيقات من Firebase لإثبات سلامة تطبيقك أثناء تسجيل الدخول باستخدام Google
  • إضافة دعم لبيان الخصوصية الذي تم إصداره في v7.1.0
  • داخلي

7.1.0

  • تحديث إلى الإصدار 5.0 من Swift في حزمة GoogleSignInSwiftSupport (#317)
  • تعديلات على المستندات (#351 و#372)
  • إضافة بيان الخصوصية (#382)
  • داخلي
    • إصلاح خطأ إملائي في SFSafariViewController (#291)
    • إصلاح استخدام OCMock في اختبار الوحدة (#298)
    • استخدام بروتوكول تفويض جديد من GTMAppAuth 4.0.0 (#299)
    • تأكَّد من أنّ completion ليس فارغًا قبل استدعاء -[GIDSignIn restorePreviousSignIn:] (#301)
    • إزالة مشغّل macos-11 في مهام سير عمل GitHub (#302)
    • تعديل مرجع اسم زر "التحديثات" لكي تجتاز اختبارات التشغيل الآلي لواجهة المستخدم (#308)

7.1.0-fac-beta-1.0.0

  • إصدار تجريبي يتيح استخدام رموز مميّزة من خدمة فحص التطبيقات من Firebase لإثبات سلامة تطبيقك أثناء تسجيل الدخول باستخدام Google
  • داخلي
    • تعديل الحد الأدنى لإصدار iOS في ملف Podfile الخاص بتطبيق SignInSample (#355)
    • تعديل هدف اختبار وحدة AppCheckExample لاجتيازه أثناء الدمج المتواصل (#356)

7.1.0-fac-eap-1.0.0

  • إصدار "برنامج استخدام المنتج قبل إطلاقه" (EAP) الذي يتيح استخدام رموز مميّزة من خدمة فحص التطبيقات من Firebase لإثبات سلامة تطبيقك عند تسجيل الدخول باستخدام حساب Google
  • داخلي
    • إصلاح خطأ إملائي في SFSafariViewController (#291)
    • إزالة مشغّل macos-11 في مهام سير عمل GitHub (#302)
    • تعديل مرجع اسم زر "التحديثات" لكي تجتاز اختبارات التشغيل الآلي لواجهة المستخدم (#308)
    • التأكّد من أنّ completion ليس قيمة فارغة قبل طلب -[GIDSignIn restorePreviousSignIn:] (#301)
    • استخدام بروتوكول التفويض الجديد من GTMAppAuth 4.0.0 (#299)

7.0.0

  • يمكن الآن تقديم جميع إعداداتك من خلال ملف Info.plist. (‫228#)
    • استخدِم المفاتيح التالية في أزواج <key>KEY</key><string>VALUE</string> لإعداد حزمة تطوير البرامج (SDK):
      • GIDClientID (مطلوب)
      • GIDServerClientID (اختياري)
      • GIDHostedDomain (اختياري)
      • GIDOpenIDRealm (اختياري)
  • التوافق مع Swift Concurrency (#187)
  • تحسينات على مساحة واجهة برمجة التطبيقات (‫249# و‫228# و‫187#)
    • GIDSignIn
      • موقع configuration جديد
      • تمت إزالة وسيطات Configuration: من طرق signIn:.
      • تمت إزالة "addScopes:" وإضافتها إلى "GIDGoogleUser".
      • تمت إعادة تسمية وسيطات callback: إلى completion: للطرق غير المتزامنة التي تستخدم مجموعات.
    • GIDGoogleUser
      • موقع configuration جديد
      • تم نقل طريقة addScopes: الجديدة من GIDSignIn.
      • تمت إزالة الموقع authentication واستبداله بما يلي:
        • موقع accessToken جديد
        • موقع refreshToken جديد
        • موقع idToken جديد
        • موقع fetcherAuthorizer جديد
        • طريقة refreshTokensIfNeededWithCompletion: جديدة
    • فئة GIDToken جديدة لتمثيل رموز الدخول والتحديث والمعرّف في GIDGoogleUser
    • فئة GIDSignInResult جديدة لتمثيل نتيجة عملية تسجيل الدخول أو إضافة النطاقات بنجاح.
    • تمت إزالة تعريفات أنواع الحظر GIDSignInCallback وGIDDisconnectCallback وGIDAuthenticationAction.

6.2.4

  • تم تعديل اعتمادية GTMSessionFetcher للسماح بالإصدارات 2.x. (#207)

6.2.3

  • حلّ مشكلة تحميل الموارد في GoogleSignInSwift عند استخدام use_frameworks! في CocoaPods (‫#197)
  • منع أخطاء الإنشاء في GoogleSignInSwift في سيناريوهات معيّنة عند استخدام Swift Package Manager (#166)

6.2.2

  • منع أخطاء الإنشاء في GoogleSignInSwift عند استخدام Swift Package Manager (#157)
  • منع حدوث خطأ في الإصدار على Xcode 12 والإصدارات الأقدم (#158)

6.2.1

  • استخدِم GoogleSignInSwiftSupport كاسم لحزمة CocoaPod المتوافقة مع Swift. (#137)

6.2.0

  • متوافق مع نظام التشغيل macOS (#104)
  • تمت إضافة زر "تسجيل الدخول باستخدام حساب Google" في SwiftUI. (#103)
  • تمت إضافة إمكانية طلب نطاقات إضافية عند تسجيل الدخول. (#30)
  • تم إصلاح عدة مشاكل. (#87، #106)

6.1.0

  • تطبيق جديد نموذجي بلغة Swift يعرض SwiftUI (#63)
  • إتاحة Mac Catalyst
  • تحسينات على عملية تنفيذ addScopes (#68, #70)

6.0.2

  • تأكَّد من إمكانية استخدام عمليات استيراد الوحدات عند إنشائها كمكتبة. (#53)

6.0.1

  • إصلاح المشكلة التي تمنع استدعاء عمليات رد الاتصال المتداخلة لطريقتَي signIn وaddScopes (#29)

6.0.0

  • أصبحت خدمة تسجيل الدخول باستخدام حساب Google لأجهزة iOS الآن مفتوحة المصدر.
  • إتاحة أداة Swift Package Manager
  • إتاحة المحاكي على أجهزة كمبيوتر Mac التي تعمل بمعالج M1
  • تعديلات على مساحة عرض واجهة برمجة التطبيقات
    • GIDSignIn
      • ‫sharedInstance هي الآن سمة صف.
      • أصبحت signIn الآن signInWithConfiguration:presentingViewController:callback: وتطلب دائمًا نطاقات الملف الشخصي الأساسية.
      • ‫addScopes:presentingViewController:callback: هي الطريقة الجديدة لإضافة نطاقات تتجاوز الملف الأساسي إلى مستخدم مسجّل الدخول حاليًا.
      • ‫"restorePreviousSignIn" أصبح الآن "restorePreviousSignInWithCallback:".
      • ‫"disconnect" أصبح الآن "disconnectWithCallback:".
      • تمت إزالة بروتوكول GIDSignInDelegate لصالح حظر GIDSignInCallback وGIDDisconnectCallback.
      • تم نقل جميع خصائص إعدادات مسار تسجيل الدخول إلى GIDConfiguration.
    • تمت إضافة الفئة GIDConfiguration لتمثيل الإعدادات المطلوبة لتسجيل دخول المستخدم.
    • GIDAuthentication
      • ‫"getTokensWithHandler:" أصبح الآن "doWithFreshTokens:".
      • تمت إعادة تسمية تعريف النوع GIDAuthenticationHandler ليصبح GIDAuthenticationAction.
      • تمت إزالة refreshTokensWithHandler:، لذا يُرجى استخدام doWithFreshTokens: بدلاً منها.
    • لم يعُد بإمكان GIDSignInButton إجراء مكالمات إلى GIDSignIn داخليًا، ويجب ربطه بجهاز IBAction أو جهاز مشابه حتى تتمكّن من الاتصال بـ signInWithConfiguration:presentingViewController:callback: لبدء عملية تسجيل الدخول.

5.0.2

  • تم إصلاح مشكلة إرسال رمز الخطأ غير الصحيح إلى signIn:didSignInForUser:withError: عندما يلغي المستخدم مربّع إفادة الموافقة على نظام التشغيل iOS أثناء مسار تسجيل الدخول.

5.0.1

  • تم إصلاح مشكلة عدم إمكانية بدء عملية تسجيل الدخول بشكل صحيح على نظام التشغيل iOS 13.
  • يتطلّب توزيع ملف ZIP الإصدار 11 من Xcode أو إصدارًا أحدث.

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

  • تتم إزالة الاعتماد على OAuth 2 في "إدارة العلامات من Google".

4.3.0

  • يتوافق مع "إدارة الخدمات الجوّالة للمؤسسات" من Google.

4.2.0

  • تضيف هذه السمة grantedScopes إلى GIDGoogleUser، ما يتيح تأكيد النطاقات التي تم منحها بعد تسجيل الدخول بنجاح.
  • تم إيقاف accessibleScopes نهائيًا في GIDGoogleUser، لذا يُرجى استخدام grantedScopes بدلاً منها.
  • تتم ترجمة GIDSignInButton إلى الهندية (hi) والفرنسية (كندا) (fr-CA).
  • تضيف هذه السمة اعتمادية على إطار عمل LocalAuthentication في النظام.

4.1.2

  • إضافة دعم pod try إلى GoogleSignIn CocoaPod

4.1.1

  • تم إصلاح مشكلة عدم استدعاء signInWillDispatch:error: الخاص بـ "GIDSignInUIDelegate" على نظام التشغيل iOS 11. يُرجى العِلم أنّه من المفترض عدم استدعاء أي من signIn:presentViewController: أو signIn:dismissViewController: في نظام التشغيل iOS 11 لأنّ SFAuthenticationSession لا يتم عرضه من خلال وحدة التحكّم في عرض التطبيق.

4.1.0

  • يستخدم SFAuthenticationSession على نظام التشغيل iOS 11.

4.0.2

  • لم يعُد يعتمد على GoogleAppUtilities.

4.0.1

  • يتم التبديل إلى تبعيات الحزمة مفتوحة المصدر.
  • لم يعُد مظهر زر تسجيل الدخول يعتمد على النطاقات المطلوبة.

4.0.0

  • أصبح GoogleSignIn pod الآن على شكل إطار عمل ثابت. استخدِم عبارة الاستيراد مع #import <GoogleSignIn/GoogleSignIn.h> في Objective-C.
  • إضافة إمكانية استخدام الوحدات يمكنك أيضًا استخدام @import GoogleSignIn; في Objective-C، إذا كانت الوحدة مفعّلة، وimport GoogleSignIn في Swift بدون استخدام ملف bridge-header.
  • بالنسبة إلى مستخدمي حزمة zip المستقلة، تتوفّر الآن عدة حِزم، ويجب إضافة جميعها إلى المشروع. يسمح هذا التقسيم بمزيد من المرونة في حال تكرار التبعيات.
  • تزيل هذه السمة الطريقة المتوقّفة نهائيًا checkGoogleSignInAppInstalled من GIDSignIn.
  • يزيل السمتَين allowsSignInWithBrowser وallowsSignInWithWebView من GIDSignIn.
  • لم يعُد من الضروري إضافة معرّف الحزمة كمخطّط URL متوافق مع التطبيق.

3.0.0

  • توفّر السمتَين givenName وfamilyName على GIDProfileData.
  • تسمح هذه السمة بضبط السمة loginHint على GIDSignIn لملء معرّف المستخدم أو عنوان بريده الإلكتروني مسبقًا في عملية تسجيل الدخول.
  • تمت إزالة الفئة UIViewController(SignIn) والسمة delegate من GIDSignInButton.
  • يجب أن يكون uiDelegate قد تم ضبطه بشكلٍ صحيح على GIDSignIn وأن يكون إطار عمل SafariServices قد تم ربطه.
  • تزيل هذه السمة الاعتماد على StoreKit.
  • يتيح استخدام bitcode.
  • يتطلّب Xcode 7.0 أو إصدارًا أحدث بسبب عدم توافق bitcode مع Xcode 6.

2.4.0

  • تعديل زر تسجيل الدخول باستخدام شعار Google الجديد
  • يتيح حصر تسجيل الدخول على نطاق معيّن.
  • يسمح بإعادة تحميل رموز التعريف المميزة.

2.3.2

  • لم يعُد يتطلّب Xcode 7.

2.3.1

  • إصلاح عطل في جهاز "imageURLWithDimension:" الخاص بـ "GIDProfileData"

2.3.0

  • يتطلّب Xcode 7.0 أو إصدارًا أحدث.
  • يستخدم SFSafariViewController لتسجيل الدخول على نظام التشغيل iOS 9. يجب ضبط uiDelegate حتى تعمل هذه الميزة.
  • تحسين عملية جلب ملف تعريف المستخدم
  • يتوافق مع GTMFetcherAuthorizationProtocol في GIDAuthentication.

2.2.0

  • متوافق مع نظام التشغيل iOS 9 (إصدار تجريبي). يُرجى العِلم أنّ هذا الإصدار من حزمة تطوير البرامج (SDK) الخاصة بخدمة &quot;تسجيل الدخول باستخدام حساب Google&quot; لا يتضمّن رمز bitcode، لذا عليك ضبط ENABLE_BITCODE على NO في مشروعك إذا كنت تستخدم Xcode 7.
  • تضيف هذه السمة معرّفات وصفية لقيود "التنسيق التلقائي" في GIDSignInButton.
  • لم يعُد يتطلّب ضبط signInSilentlyuiDelegate.

2.1.0

  • إصلاح مشاكل "التنسيق التلقائي" في GIDSignInButton
  • تضيف هذه السمة واجهة برمجة تطبيقات لإعادة تحميل رمز الدخول في GIDAuthentication.
  • وصف أفضل للاستثناء بشأن clientID غير المعرَّف في GIDSignIn
  • إصلاحات أخرى بسيطة للأخطاء

2.0.1

  • إصلاح الأخطاء

2.0.0

  • يتيح تسجيل الدخول من خلال UIWebView بدلاً من التبديل إلى متصفّح، ويمكن ضبطه باستخدام السمة الجديدة allowsSignInWithWebView.
  • أصبح بإمكان التطبيقات التي أوقفت إمكانية التبديل إلى متصفّح من خلال السمة allowsSignInWithBrowser وعرض المحتوى على الويب داخل التطبيق من خلال السمة allowsSignInWithWebView عرض طلب يوجّه المستخدم إلى تنزيل تطبيق Google من App Store.
  • إصلاح مشكلة حجم زر تسجيل الدخول عند تفعيل ميزة "التنسيق التلقائي"
  • يتصل signInSilently الآن بالمفوَّض مع عرض رسالة خطأ عندما تكون قيمة hasAuthInKeychain هي NO كما هو موضّح في المستندات
  • إصلاحات أخرى بسيطة للأخطاء

1.0.0

  • حزمة تطوير برامج (SDK) جديدة تركّز على تسجيل الدخول وتتضمّن واجهة برمجة تطبيقات محدَّثة
  • زر تسجيل دخول معروض ديناميكيًا يتضمّن علامة تجارية سياقية
  • إتاحة الملفات الشخصية الأساسية
  • تمت إضافة السمة allowsSignInWithBrowser