From 2e91ee1387ef545ecef49230f2024b89b2f82a58 Mon Sep 17 00:00:00 2001
From: 杨锴 <841720330@qq.com>
Date: 星期三, 09 十月 2024 15:48:20 +0800
Subject: [PATCH] fix

---
 XQMuse/SceneDelegate.swift |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/XQMuse/SceneDelegate.swift b/XQMuse/SceneDelegate.swift
index b09b742..ade4cca 100644
--- a/XQMuse/SceneDelegate.swift
+++ b/XQMuse/SceneDelegate.swift
@@ -8,6 +8,7 @@
 import UIKit
 import SVProgressHUD
 import JQTools
+import AuthenticationServices
 
 class SceneDelegate: UIResponder, UIWindowSceneDelegate {
 
@@ -33,6 +34,27 @@
 								if #available(iOS 13.0, *) {
 												window?.overrideUserInterfaceStyle = .light
 								}
+
+        if let appleId = UserViewModel.getLoginInfo()?.appleId {
+            //检查Apple登录,授权情况
+            let provider = ASAuthorizationAppleIDProvider()
+            provider.getCredentialState(forUserID: appleId) { state, error in
+                guard  error == nil else {return}
+                switch state {
+                    case .revoked,.notFound,.transferred:
+                        UserViewModel.clearToken()
+                        UserViewModel.clearLoginInfo()
+                        UserViewModel.clearAvatarInfo()
+                    default:break
+                }
+            }
+
+            NotificationCenter.default.rx.notification(ASAuthorizationAppleIDProvider.credentialRevokedNotification).subscribe(onNext: { _ in
+                UserViewModel.clearToken()
+                UserViewModel.clearLoginInfo()
+                UserViewModel.clearAvatarInfo()
+            }).disposed(by: JQ_disposeBag)
+        }
 				}
 
 				func needLogin(){

--
Gitblit v1.7.1