[iOS - Login] 애플로 로그인
[iOS 13+]
화면


(위 화면은, requestedScopes = [.fullName, .email]인 경우)
(requestedScopes = [ ]로 한다면, 아래와 같은 결과화면)

특징
-
별도의 SDK가 아닌 프레임워크 사용
-
Face ID / Touch ID / ID & PW 기능 제공
-
사용자 입장에서 이메일 private 설정 : private 이메일을 appleid.com에 전송
관련 자료 : WWDC 2019
환경설정
Apple Developer에서 앱 번들 ID 등록
의존성
1)AuthenticationServices프레임워크
import AuthenticationServices
2)Sign In with Apple
Target -> Signing & Capabilities -> +Capability -> Sign in with Apple 선택하여 추가
만약, Sign in with Apple이 안뜬다면, Signing에서 "Automatically manage signing"체크를 해제했다가 다시 체크

-Key, Value 설정 : Sign in with Apple Entitlement
로그인 & 유저 정보
1)로그인버튼 : ASAuthorizationAppleIDButton
-
storyboard의 Identity instpector에서 class를 ASAuthorizationAppleIDButton로 설정
-
HIG에 따르면 Sign in with Apple버튼은 system이 제공해주므로 ASAuthorizationAppleIDButton 버튼 사용을 권장
2)로그인 및 사용자 정보 획득
-
Request Authorization with Apple ID (아래 링크 참고)
-
Request Existing Credentials (아래 링크 참고)
참고) native iOS가 아닌 웹에서 이용할때의 커스텀버튼 가이드
[iOS 12 이하 버전]
-
-
server to server
-
-
-
별도 서버와 함께 사용(redirect_uri, end point를 위해 이용) : 안드로이드에서 사용하는 방법 예시
-