Sign In with Apple

Sign In with Apple

iOS 13新增功能之Sign In with Apple,可以通過AppleID在iOS設(shè)備上進(jìn)行登錄等操作
蘋果登錄開發(fā)流程:
一、配置
1.需要在蘋果后臺打開Sign In with Apple選項(xiàng),并且重新生成Profiles配置文件,并安裝到Xcode。
2.在開發(fā)者賬號中的證書選項(xiàng)中,單擊Configure按鈕,選擇你創(chuàng)建的Primary App ID,保存之后,下載p8文件。

二、代碼

  1. 導(dǎo)入系統(tǒng)頭文件#import <AuthenticationServices/AuthenticationServices.h>,
    添加Sign In with Apple登錄按鈕,設(shè)置ASAuthorizationAppleIDButton相關(guān)布局,并添加按鈕點(diǎn)擊響應(yīng)
            if (@available(iOS 13.0, *)) {
                ASAuthorizationAppleIDButton *appleLoginBtn = [[ASAuthorizationAppleIDButton alloc] initWithAuthorizationButtonType:ASAuthorizationAppleIDButtonTypeSignIn authorizationButtonStyle:ASAuthorizationAppleIDButtonStyleBlack];
                appleLoginBtn.frame = CGRectMake(0, 0, 50, 50);
                appleLoginBtn.layer.cornerRadius = 5;
                appleLoginBtn.layer.masksToBounds = YES;
                [appleLoginBtn addTarget:self action:@selector(appleLogin) forControlEvents:UIControlEventTouchUpInside];
                [self.view addSubview:appleLoginBtn];
            } else {
                // Fallback on earlier versions
            }

事件

  1. 獲取授權(quán)碼
- (void)appleLogin {
    if (@available(iOS 13.0, *)) {
        
        ASAuthorizationAppleIDProvider *appleIDProvider = [[ASAuthorizationAppleIDProvider alloc] init];
        ASAuthorizationAppleIDRequest *appleIDRequest = [appleIDProvider createRequest];
        // 用戶授權(quán)請求的聯(lián)系信息
        appleIDRequest.requestedScopes = @[ASAuthorizationScopeFullName, ASAuthorizationScopeEmail];
        ASAuthorizationController *authorizationController = [[ASAuthorizationController alloc] initWithAuthorizationRequests:@[appleIDRequest]];
        // 設(shè)置授權(quán)控制器通知授權(quán)請求的成功與失敗的代理
        authorizationController.delegate = self;
        // 設(shè)置提供 展示上下文的代理,在這個上下文中 系統(tǒng)可以展示授權(quán)界面給用戶
        authorizationController.presentationContextProvider = self;
        // 在控制器初始化期間啟動授權(quán)流
        [authorizationController performRequests];
    } else {
        NSLog(@"該系統(tǒng)版本不可用Apple登錄");
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容