私のアプリには「Appleでサインイン」アカウント機能があります。 Appleアカウントからのサインアウト機能があるかどうかと思います。
以下を試しましたがうまくいきません
let request = ASAuthorizationAppleIDProvider().createRequest()
request.requestedOperation = .operationLogout
let authorizationController = ASAuthorizationController(authorizationRequests: [request])
authorizationController.performRequests()
Appleは現在、ユーザーがサインアウト(iOS/watchOS/tvOS)を実行することのみを許可しているか、許可の取り消しとして表示されています。彼らは、失効をチェックするために使用する前に資格情報の状態を取得し、それがローカル情報を削除するために発生したかどうかを確認します(保存されている場所でユーザーIDを削除します)(必要に応じてUIを変更することもできます;たとえば、ログインの表示など)見る)。
let appleIDProvider = ASAuthorizationAppleIDProvider()
appleIDProvider.getCredentialState(forUserID: KeychainItem.currentUserIdentifier) { (credentialState, error) in
switch credentialState {
case .authorized:
// The Apple ID credential is valid.
break
case .revoked:
// The Apple ID credential is revoked.
break
case .notFound:
// No credential was found, so show the sign-in UI.
}
default:
break
}
}
ユーザーのサインアウト時に、デバイスの設定で取り消して変更通知を聞くように案内するプロンプトをユーザーに提供することもできます。