Ghi chú phát hành SDK của tính năng Đăng nhập bằng Google dành cho iOS và macOS

Chưa phát hành

  • Khắc phục sự cố khi phản hồi lỗi máy chủ mang giá trị không phải là chuỗi trong khoá error. Trình xử lý lỗi EMM đã gửi -hasPrefix: đến bất kỳ giá trị nào hiện có, làm phát sinh một ngoại lệ về bộ chọn không được nhận dạng trên một số, mảng hoặc đối tượng.
  • Khắc phục lỗi nonce tuỳ chỉnh và mã thông báo được yêu cầu claims bị loại bỏ khi quá trình đăng nhập tiếp tục sau khi ứng dụng Device Policy khởi động lại.

10.0.0

  • THAY ĐỔI LỚN: Cập nhật lên AppAuth 3.0.0 và GTMAppAuth 6.0.0, nâng mục tiêu triển khai tối thiểu lên iOS 15.0 và macOS 12.0, mở rộng phần phụ thuộc GTMSessionFetcher để cho phép 4.x và 5.x, đồng thời đổi tên tệp kê khai Swift Package Manager dành riêng cho phiên bản thành Package@swift-5.7.swift. Những dự án phải tiếp tục hỗ trợ các phiên bản hệ điều hành cũ nên sử dụng GoogleSignIn 9.2.0. (#628)
  • Thêm GIDSignIn.wrapperIdentifier để các SDK nhúng tính năng Đăng nhập bằng Google có thể tự xác định trong nhật ký chẩn đoán của Google thông qua một tham số gidwrapper mới. Đây là tính năng chọn sử dụng và hành vi hiện tại sẽ không thay đổi. (#625)
  • Cập nhật biểu tượng nút đăng nhập thành biểu tượng Google G có hiệu ứng chuyển màu (#633)
  • Ghim tên Swift của các phương thức tạo GIDClaim bằng chú thích NS_SWIFT_NAME rõ ràng; tên Swift đã nhập không thay đổi (#627)
  • Sử dụng NSURLComponents để mã hoá mã thông báo đúng cách (#618)
  • Khắc phục sự cố trong additionalTokenRefreshParameters khi emmSupport là nil (#608)
  • Nội bộ
    • Hợp nhất các tham số ghi nhật ký SDK để chuẩn bị cho các tham số mới (#616)
    • Sửa swift-button-functional-test (#614)
    • Khắc phục lỗi nhập SignInSample và thêm mẫu vào CI (#632)
    • Thêm các công việc xem trước Xcode 27 không chặn vào CI (#629)
    • Tăng mục tiêu triển khai Podfile mẫu cho Xcode 27 (#634)
    • Tăng các phần phụ thuộc của nhóm trình đóng gói (#594, #630)

9.2.0

  • Hiển thị ngày hết hạn của mã làm mới (#577)
  • Hỗ trợ yêu cầu xác nhận quyền sở hữu amr (Tham chiếu phương thức xác thực) (#600)
  • Xoá các mục trong chuỗi khoá khi cài đặt mới (#567)
  • Cập nhật mức tối thiểu của phần phụ thuộc AppAuth-iOS thành 2.1.0 (#603)
  • Sửa lỗi xử lý gói không bắt buộc cho các chuỗi đã bản địa hoá (#373)
  • Đưa tất cả tiêu đề công khai vào tiêu đề chung vô điều kiện (#595)
  • Di chuyển quy trình nhập GIDSignInButton ra ngoài quá trình biên dịch có điều kiện (#591)
  • Nội bộ
    • Khắc phục cảnh báo không dùng nữa của Trình quản lý gói Swift (#579)
    • Cải thiện chú thích tài liệu cho GIDSignInButtonStyle (#204)
    • Giải quyết cảnh báo về thành phần con chưa được chỉ định trong danh mục tài sản AppIcon (#348)
    • Tái cấu trúc quy trình GitHub Actions (#580)
    • Nâng cấp GitHub Actions lên phiên bản mới nhất để tương thích với Node 24 (#592, #593)

9.1.0

  • Cho phép yêu cầu claims (hiện tại, chỉ có auth_time) thông qua Phương thức đăng nhập (#550, #552, #553, #569)
  • Cập nhật các phương thức addScopes: trong GIDSignIn để thêm claims đã được yêu cầu trước đó (#557)
  • Nội bộ
    • Chỉ định cho keychainStore càng sớm càng tốt trong trình khởi tạo (#540)
    • Thêm tính năng hỗ trợ cho Swift 6 (#543, #544, #546)
    • Cập nhật quy trình GitHub Actions (#545, #570)
    • Cập nhật ứng dụng mẫu DaysUntilBirthday để hỗ trợ yêu cầu auth_time (#555)
    • Đổi tên tokenClaims thành claims trong toàn bộ mã (#568)

9.0.0

  • Cho phép cung cấp nonce tuỳ chỉnh thông qua GSI cho AppAuth (#402, #476)
  • Khắc phục mã lỗi không hợp lệ trong GIDSignIn (#472)
  • Thêm tính năng hỗ trợ cho GTMAppAuth 5 trên macOS (#522)
  • Khắc phục các lỗi di chuyển Dữ liệu được bảo vệ (#533)
  • Nội bộ
    • Thêm AppAuthCore làm phần phụ thuộc rõ ràng (#470)
    • Cập nhật trình mô phỏng iPhone từ 14 lên 15 (#494)
    • Khắc phục kiểm thử tích hợp nút Swift (#497)
    • Cập nhật trình chạy lên macos-13 (#498)
    • Cập nhật scorecards.yml để dùng upload-artifact@v4.6.2 (#516)
    • Cập nhật các phần phụ thuộc AppAuth và GTMAppAuth (#517, #521)
    • Khắc phục các kiểm thử tích hợp Swift cho người dùng cũ (#518)
    • Cập nhật .gitignore để thêm .build và Package.resolved (#520)
    • Cập nhật GIDSignInTest để thiết lập và huỷ NSUserDefaults đúng cách (#527)

8.0.0

  • Bản phát hành công khai bổ sung tính năng hỗ trợ Kiểm tra ứng dụng Firebase để thiết lập tính toàn vẹn của ứng dụng trong khi Đăng nhập bằng Google
  • Cập nhật mức hỗ trợ tối thiểu cho iOS lên iOS 12 (#445)
  • Nội bộ
    • Cập nhật phần phụ thuộc AppCheckCore lên phiên bản 11.0 (#454)
    • Thêm giá trị trả về instancetype vào trình trợ giúp kiểm thử (#393)
    • Xoá tính năng nhập theo mô-đun GTMSessionFetcher (#403)
    • Tăng activesupport từ 5.2.5 lên 5.2.8.1 trong nhóm bundler (#429)
    • Xoá trình chạy macos-11 không dùng nữa (#447)
    • Cập nhật việc sử dụng API lưu trữ không dùng nữa trong các thử nghiệm (#449)

7.1.0-fac-beta-1.1.0

  • Bản phát hành thử nghiệm hỗ trợ mã thông báo Kiểm tra ứng dụng Firebase được dùng để thiết lập tính toàn vẹn của ứng dụng trong khi đăng nhập bằng Google
  • Thêm tính năng hỗ trợ tệp kê khai quyền riêng tư được phát hành trong v7.1.0
  • Nội bộ

7.1.0

  • Cập nhật lên Swift 5.0 trong pod GoogleSignInSwiftSupport (#317)
  • Các lần cập nhật tài liệu (#351, #372)
  • Thêm tệp kê khai về quyền riêng tư (#382)
  • Nội bộ
    • Sửa lỗi chính tả trong SFSafariViewController (#291)
    • Khắc phục việc sử dụng OCMock trong kiểm thử đơn vị (#298)
    • Sử dụng giao thức uỷ quyền mới từ GTMAppAuth 4.0.0 (#299)
    • Đảm bảo rằng completion không phải là giá trị rỗng trước khi gọi -[GIDSignIn restorePreviousSignIn:] (#301)
    • Xoá trình chạy macos-11 trong quy trình làm việc trên GitHub (#302)
    • Cập nhật thông tin tham chiếu về tên nút để các bài kiểm thử tự động hoá giao diện người dùng vượt qua (#308)

7.1.0-fac-beta-1.0.0

  • Bản phát hành thử nghiệm hỗ trợ mã thông báo Kiểm tra ứng dụng Firebase được dùng để thiết lập tính toàn vẹn của ứng dụng trong khi đăng nhập bằng Google
  • Nội bộ
    • Cập nhật phiên bản iOS tối thiểu của Podfile SignInSample (#355)
    • Cập nhật mục tiêu kiểm thử đơn vị AppCheckExample để truyền trong quá trình tích hợp liên tục (#356)

7.1.0-fac-eap-1.0.0

  • Bản phát hành Chương trình tiếp cận sớm (EAP) hỗ trợ mã thông báo Kiểm tra ứng dụng Firebase được dùng để thiết lập tính toàn vẹn của ứng dụng trong khi đăng nhập bằng Google
  • Nội bộ
    • Sửa lỗi chính tả trong SFSafariViewController (#291)
    • Xoá trình chạy macos-11 trong quy trình làm việc trên GitHub (#302)
    • Cập nhật thông tin tham chiếu về tên nút để các bài kiểm thử tự động hoá giao diện người dùng vượt qua (#308)
    • Đảm bảo rằng completion không phải là giá trị rỗng trước khi gọi -[GIDSignIn restorePreviousSignIn:] (#301)
    • Sử dụng giao thức uỷ quyền mới từ GTMAppAuth 4.0.0 (#299)

7.0.0

  • Giờ đây, bạn có thể cung cấp tất cả cấu hình thông qua tệp Info.plist. (#228)
    • Sử dụng các khoá sau theo cặp <key>KEY</key><string>VALUE</string> để định cấu hình SDK:
      • GIDClientID (bắt buộc)
      • GIDServerClientID (không bắt buộc)
      • GIDHostedDomain (không bắt buộc)
      • GIDOpenIDRealm (không bắt buộc)
  • Hỗ trợ Swift Concurrency. (#187)
  • Cải thiện giao diện API (#249, #228, #187)
    • GIDSignIn
      • Thuộc tính configuration mới.
      • Xoá đối số Configuration: khỏi phương thức signIn:.
      • Xoá addScopes: và thêm vào GIDGoogleUser.
      • Đổi tên các đối số callback: thành completion: cho các phương thức không đồng bộ lấy các khối.
    • GIDGoogleUser
      • Thuộc tính configuration mới.
      • Phương thức addScopes: mới được di chuyển từ GIDSignIn.
      • Đã xoá thuộc tính authentication và thay thế bằng:
        • Thuộc tính accessToken mới.
        • Thuộc tính refreshToken mới.
        • Thuộc tính idToken mới.
        • Thuộc tính fetcherAuthorizer mới.
        • Phương thức refreshTokensIfNeededWithCompletion: mới.
    • Lớp GIDToken mới để biểu thị mã truy cập, mã làm mới và mã nhận dạng trong GIDGoogleUser.
    • Lớp GIDSignInResult mới để biểu thị kết quả của một quy trình signIn hoặc addScopes thành công.
    • Đã xoá các định nghĩa về loại khối GIDSignInCallback, GIDDisconnectCallback và GIDAuthenticationAction.

6.2.4

  • Cập nhật phần phụ thuộc GTMSessionFetcher để cho phép các phiên bản 2.x. (#207)

6.2.3

  • Khắc phục lỗi tải tài nguyên trong GoogleSignInSwift bằng CocoaPods use_frameworks! (#197)
  • Ngăn lỗi bản dựng cho GoogleSignInSwift trong một số trường hợp khi sử dụng Trình quản lý gói Swift. (#166)

6.2.2

  • Ngăn lỗi bản dựng cho GoogleSignInSwift khi sử dụng Trình quản lý gói Swift. (#157)
  • Ngăn lỗi bản dựng trên Xcode 12 trở về trước. (#158)

6.2.1

  • Sử dụng GoogleSignInSwiftSupport làm tên của CocoaPod hỗ trợ Swift. (#137)

6.2.0

  • Hỗ trợ macOS. (#104)
  • Thêm nút "Đăng nhập bằng Google" cho SwiftUI. (#103)
  • Đã thêm khả năng yêu cầu các phạm vi bổ sung tại thời điểm đăng nhập. (#30)
  • Khắc phục một số vấn đề. (#87, #106)

6.1.0

  • Ứng dụng mẫu Swift mới minh hoạ SwiftUI. (#63)
  • Hỗ trợ Mac Catalyst.
  • Cải tiến đối với việc triển khai addScopes. (#68, #70)

6.0.2

  • Đảm bảo rằng bạn có thể dùng các lần nhập mô-đun khi được tạo dưới dạng thư viện. (#53)

6.0.1

  • Khắc phục lỗi không gọi được các lệnh gọi lại lồng nhau cho phương thức signIn và addScopes. (#29)

6.0.0

  • Tính năng Đăng nhập bằng Google cho iOS hiện là nguồn mở.
  • Hỗ trợ Trình quản lý gói Swift.
  • Hỗ trợ Trình mô phỏng trên máy Mac M1.
  • Các bản cập nhật về giao diện API
    • GIDSignIn
      • sharedInstance hiện là một thuộc tính lớp.
      • signIn hiện là signInWithConfiguration:presentingViewController:callback: và luôn yêu cầu các phạm vi hồ sơ cơ bản.
      • addScopes:presentingViewController:callback: là cách mới để thêm các phạm vi ngoài hồ sơ cơ bản cho người dùng hiện đã đăng nhập.
      • restorePreviousSignIn đổi tên thành restorePreviousSignInWithCallback:
      • disconnect đổi tên thành disconnectWithCallback:
      • Giao thức GIDSignInDelegate đã bị xoá để thay thế bằng các khối GIDSignInCallback và GIDDisconnectCallback.
      • Tất cả các thuộc tính cấu hình của quy trình đăng nhập đều đã được di chuyển sang GIDConfiguration.
    • Lớp GIDConfiguration đã được thêm để biểu thị cấu hình cần thiết để đăng nhập người dùng.
    • GIDAuthentication
      • getTokensWithHandler: đổi tên thành doWithFreshTokens:
      • Typedef GIDAuthenticationHandler đã được đổi tên thành GIDAuthenticationAction.
      • refreshTokensWithHandler: đã bị xoá, hãy dùng doWithFreshTokens:.
    • GIDSignInButton không còn gọi đến GIDSignIn nội bộ nữa và cần được kết nối với IBAction hoặc tương tự để bạn có thể gọi signInWithConfiguration:presentingViewController:callback: nhằm bắt đầu quy trình đăng nhập.

5.0.2

  • Khắc phục lỗi gửi sai mã lỗi đến signIn:didSignInForUser:withError: khi người dùng huỷ hộp thoại đồng ý của iOS trong quy trình đăng nhập.

5.0.1

  • Khắc phục vấn đề không thể bắt đầu đúng cách quy trình đăng nhập trên iOS 13.
  • Bản phân phối zip yêu cầu Xcode 11 trở lên.

5.0.0

  • Các thay đổi đối với GIDSignIn
    • uiDelegate đã được thay thế bằng presentingViewController.
    • hasAuthInKeychain đã được thay thế bằng hasPreviousSignIn.
    • signInSilently đã được thay thế bằng restorePreviousSignIn.
    • Xoá mã lỗi kGIDSignInErrorCodeNoSignInHandlersInstalled không dùng nữa.
  • Các thay đổi đối với GIDAuthentication
    • Đã xoá các phương thức getAccessTokenWithHandler: và refreshAccessTokenWithHandler: (không dùng nữa).
  • Thay đổi đối với GIDGoogleUser
    • Xoá thuộc tính không dùng nữa accessibleScopes, hãy dùng grantedScopes.
  • Thêm các phần phụ thuộc vào AppAuth và GTMAppAuth.
  • Xoá phần phụ thuộc trên GoogleToolboxForMac.
  • Ngừng hỗ trợ iOS 7.

4.4.0

  • Xoá phần phụ thuộc trên GTM OAuth 2.

4.3.0

  • Hỗ trợ tính năng Quản lý thiết bị di động cho doanh nghiệp của Google.

4.2.0

  • Thêm grantedScopes vào GIDGoogleUser, cho phép xác nhận những phạm vi đã được cấp sau khi đăng nhập thành công.
  • Không dùng accessibleScopes trong GIDGoogleUser nữa, hãy dùng grantedScopes.
  • Nội dung bản địa hoá GIDSignInButton cho hi (tiếng Hindi) và fr-CA (tiếng Pháp (Canada)).
  • Thêm phần phụ thuộc vào khung LocalAuthentication của hệ thống.

4.1.2

  • Thêm chế độ hỗ trợ pod try cho GoogleSignIn CocoaPod.

4.1.1

  • Khắc phục vấn đề không gọi được signInWillDispatch:error: của GIDSignInUIDelegate trên iOS 11. Xin lưu ý rằng không có signIn:presentViewController: hay signIn:dismissViewController: nào được gọi trên iOS 11 vì SFAuthenticationSession không được trình bày bởi trình điều khiển chế độ xem của ứng dụng.

4.1.0

  • Sử dụng SFAuthenticationSession trên iOS 11.

4.0.2

  • Không còn phụ thuộc vào GoogleAppUtilities nữa.

4.0.1

  • Chuyển sang các phần phụ thuộc của pod nguồn mở.
  • Giao diện của nút đăng nhập không còn phụ thuộc vào các phạm vi được yêu cầu.

4.0.0

  • Pod GoogleSignIn hiện có dạng khung tĩnh. Nhập bằng #import <GoogleSignIn/GoogleSignIn.h> trong Objective-C.
  • Thêm tính năng hỗ trợ mô-đun. Bạn cũng có thể dùng @import GoogleSignIn; trong Objective-C, nếu mô-đun được bật và import GoogleSignIn trong Swift mà không cần dùng tiêu đề cầu nối.
  • Đối với người dùng bản phân phối zip độc lập, hiện có nhiều khung được cung cấp và tất cả đều cần được thêm vào một dự án. Việc phân tách này giúp tăng tính linh hoạt trong trường hợp có các phần phụ thuộc trùng lặp.
  • Xoá phương thức checkGoogleSignInAppInstalled không dùng nữa khỏi GIDSignIn.
  • Xoá các thuộc tính allowsSignInWithBrowser và allowsSignInWithWebView khỏi GIDSignIn.
  • Không còn yêu cầu thêm mã nhận dạng gói dưới dạng một lược đồ URL mà ứng dụng hỗ trợ.

3.0.0

  • Cung cấp các thuộc tính givenName và familyName trên GIDProfileData.
  • Cho phép đặt thuộc tính loginHint trên GIDSignIn để điền sẵn mã nhận dạng hoặc địa chỉ email của người dùng trong quy trình đăng nhập.
  • Xoá danh mục UIViewController(SignIn) cũng như thuộc tính delegate khỏi GIDSignInButton.
  • Yêu cầu uiDelegate phải được thiết lập đúng cách trên GIDSignIn và khung SafariServices phải được liên kết.
  • Xoá phần phụ thuộc vào StoreKit.
  • Cung cấp dịch vụ hỗ trợ mã bit.
  • Yêu cầu Xcode 7.0 trở lên do mã bit không tương thích với Xcode 6.

2.4.0

  • Cập nhật nút đăng nhập bằng biểu trưng Google mới.
  • Hỗ trợ hạn chế miền khi đăng nhập.
  • Cho phép làm mới mã nhận dạng.

2.3.2

  • Không còn yêu cầu Xcode 7.

2.3.1

  • Khắc phục sự cố trong imageURLWithDimension: của GIDProfileData.

2.3.0

  • Yêu cầu Xcode 7.0 trở lên.
  • Sử dụng SFSafariViewController để đăng nhập trên iOS 9. Bạn phải đặt uiDelegate để mã này hoạt động.
  • Tối ưu hoá việc tìm nạp hồ sơ người dùng.
  • Hỗ trợ GTMFetcherAuthorizationProtocol trong GIDAuthentication.

2.2.0

  • Tương thích với iOS 9 (bản thử nghiệm). Xin lưu ý rằng phiên bản Sign-In SDK này không bao gồm bitcode, vì vậy, bạn phải đặt ENABLE_BITCODE thành NO trong dự án nếu sử dụng Xcode 7.
  • Thêm giá trị nhận dạng mô tả cho các ràng buộc Bố cục tự động của GIDSignInButton.
  • signInSilently không còn yêu cầu bạn đặt uiDelegate nữa.

2.1.0

  • Khắc phục các vấn đề về Bố cục tự động với GIDSignInButton.
  • Thêm API để làm mới mã truy cập trong GIDAuthentication.
  • Nội dung mô tả ngoại lệ tốt hơn cho clientID chưa được chỉ định trong GIDSignIn.
  • Sửa một số lỗi nhỏ khác.

2.0.1

  • Sửa lỗi

2.0.0

  • Hỗ trợ đăng nhập thông qua UIWebView thay vì chuyển đổi ứng dụng sang trình duyệt, có thể định cấu hình bằng thuộc tính allowsSignInWithWebView mới.
  • Giờ đây, những ứng dụng đã tắt tính năng chuyển đổi ứng dụng sang trình duyệt thông qua allowsSignInWithBrowser và chế độ xem web trong ứng dụng thông qua các thuộc tính allowsSignInWithWebView có thể hiển thị một lời nhắc hướng dẫn người dùng tải ứng dụng Google xuống từ App Store.
  • Khắc phục vấn đề về kích thước nút đăng nhập khi bật tính năng bố cục tự động
  • Giờ đây, signInSilently sẽ gọi uỷ quyền với lỗi khi hasAuthInKeychain là NO như trong tài liệu
  • Sửa một số lỗi nhỏ khác

1.0.0

  • SDK mới tập trung vào tính năng đăng nhập với API mới
  • Nút đăng nhập được hiển thị linh động với thương hiệu theo bối cảnh
  • Hỗ trợ hồ sơ cơ bản
  • Đã thêm thuộc tính allowsSignInWithBrowser