web-dev-qa-db-ja.com

認証済みのAppleからサインアウトする方法

私のアプリには「Appleでサインイン」アカウント機能があります。 Appleアカウントからのサインアウト機能があるかどうかと思います。

以下を試しましたがうまくいきません

    let request = ASAuthorizationAppleIDProvider().createRequest()

    request.requestedOperation = .operationLogout

    let authorizationController = ASAuthorizationController(authorizationRequests: [request])

    authorizationController.performRequests()
2
Dipendra Dubey

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
        }
    }

ユーザーのサインアウト時に、デバイスの設定で取り消して変更通知を聞くように案内するプロンプトをユーザーに提供することもできます。

2
SierraMike