[iOS/Swift] 애플로그인

2023. 2. 27. 10:25·IOS - Swift
반응형

개발자 계정 필수!

Xcode에서 앱을 엽니다.

Apple Developer 사이트에서 앱 번들 ID를 만듭니다.

  1. 제일 아래에 Account 에서 “Certificates, Identifiers & Profiles” 를 클릭합니다.
  2. "Identifiers" 섹션으로 이동합니다.
  3. "+" 버튼을 클릭하여 새로운 식별자를 생성합니다.
  4. "App IDs" 카테고리를 선택합니다.
  5. "App ID Description" 필드에 앱을 설명하는 이름을 입력합니다.
  6. "Explicit App ID" 옵션을 선택합니다.
  7. "Bundle ID" 필드에 앱의 번들 ID를 입력합니다. 번들 ID는 com.companyname.appname과 같은 형식으로 작성됩니다. 이 때, companyname은 개발자 회사의 이름 또는 개인 이름을, appname은 앱 이름을 나타냅니다.
  8. "App Services" 섹션에서 앱이 사용할 서비스를 선택합니다.
  9. "Continue" 버튼을 클릭하고, 요약 정보를 확인한 후 "Register" 버튼을 클릭합니다.

Apple Developer 사이트에서 앱 ID를 만듭니다.

Bundle ID 만들때와 1~3번 동일합니다.

  1. "Services IDs" 카테고리를 선택합니다.
  2. "Description" 필드에 서비스 ID를 설명하는 이름을 입력합니다.
  3. "Identifier" 필드에 서비스 ID를 입력합니다. 이 때, com.companyname.servicename과 같은 형식으로 작성됩니다.
  4. "Continue" 버튼을 클릭하고, 요약 정보를 확인한 후 "Register" 버튼을 클릭합니다.

Xcode에서 개발자 인증서와 개인 키를 만듭니다.

"Xcode" 메뉴에서 "Preferences” → Account → Manage Certificates → + 버튼을 눌러 새 인증서 작성 → OS App Development"을 선택하고, 요청된 정보를 입력한 후 "Continue"를 클릭합니다.→ 개발자 인증서가 생성되면, "Download" 버튼을 클릭하여 인증서를 다운로드

Xcode에서 App ID를 생성합니다.

"Project Navigator"에서 앱을 선택 → "General" 탭을 클릭 → "Bundle Identifier" 필드에 앱의 번들 ID입력 → "Team"을 선택하고, Apple Developer 계정을 선택합니다.

Xcode에서 서비스 ID를 생성합니다.

"Project Navigator"에서 앱을 선택하고, "Capabilities" 탭을 클릭합니다. → "Sign in with Apple" 옵션을 활성

Xcode에서 Sign-in with Apple 기능을 추가합니다.

  1. Apple Developer 계정과 연결된 Xcode 프로젝트를 엽니다.
  2. "Capabilities" 탭을 선택합니다.
  3. "Sign in with Apple" 옵션을 활성화합니다.
  4. "Add an existing signing key" 또는 "Create a new key"를 선택합니다.
  5. "Enable as a primary App ID"를 선택합니다.
  6. "Save" 버튼을 클릭합니다.
  7. Xcode 프로젝트를 다시 빌드합니다.

앱에서 Sign-in with Apple 버튼을 만듭니다.

import UIKit
import AuthenticationServices

class ViewController: UIViewController {
    
    
    @IBOutlet weak var signInView: UIView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        addButton()
    }

    func addButton() {
        let button = ASAuthorizationAppleIDButton(authorizationButtonType: .signIn, authorizationButtonStyle: .black)
        button.addTarget(self, action: #selector(loginHandler), for: .touchUpInside)
        signInView.addSubview(button)
    }

    @objc func loginHandler() {
        let request = ASAuthorizationAppleIDProvider().createRequest()
        request.requestedScopes = [.fullName, .email]
        let controller = ASAuthorizationController(authorizationRequests: [request])
        controller.delegate = self
        controller.presentationContextProvider = self as? ASAuthorizationControllerPresentationContextProviding
        controller.performRequests()
    }
}

extension ViewController : ASAuthorizationControllerDelegate  {
    func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) {
        if let credential = authorization.credential as? ASAuthorizationAppleIDCredential {
            let user = credential.user
            print("👨‍🍳 \\(user)")
            if let email = credential.email {
                print("✉️ \\(email)")
            }
        }
    }
    
    func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) {
        print("error \\(error)")
    }
}
반응형

'IOS - Swift' 카테고리의 다른 글

[iOS/Xcode] CocoaPods 설치 오류(gem)  (0) 2023.03.03
[iOS/Swift] GoogleLogin구현부터 idToken 내려받기까지  (0) 2023.03.03
[iOS/Swift] presentedViewController / presentingViewController  (0) 2023.01.29
[WWDC2022] What’s new in UIKit  (0) 2023.01.29
[iOS/Swift] TableVIew 높이 유동적으로 조절하기  (0) 2023.01.24
'IOS - Swift' 카테고리의 다른 글
  • [iOS/Xcode] CocoaPods 설치 오류(gem)
  • [iOS/Swift] GoogleLogin구현부터 idToken 내려받기까지
  • [iOS/Swift] presentedViewController / presentingViewController
  • [WWDC2022] What’s new in UIKit
게게겍
게게겍
열심히 공부해보고 있습니다
  • 게게겍
    코더라도 되어보자
    게게겍
  • 전체
    오늘
    어제
    • 분류 전체보기
      • IOS - Swift
        • UIkit
        • SwiftUI
        • Combine
      • 혼자 공부한거
      • inflearn
      • 기타
      • 일기
      • firebase
      • CS
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    UIHostingController
    Swift
    scan
    UICollectionView Custom Cell with Horizontal Scroll
    trymap
    SwiftUI
    UIViewRepresentable
    replacemap
    uikit
    flatMap
    launchscreen
    fileprivate
    map
    INTERNAL
    compactMap
    viewBuilder
    combine
    private
    open
    subscription
    ios
    #GDSC #캐치카페 #대관 # 대학생 #취준생 #진학사
    swift openapigenerator
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
게게겍
[iOS/Swift] 애플로그인
상단으로

티스토리툴바