Sign in with apple 구현 중인데 ASAuthorizationControllerDelegate에 관한 질문입니다!

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    • Ga-yo
      참가자
      • 글작성 : 4
      • 답글작성 : 7

      sign in with apple을 구현하려고 하는데 ASAuthorizationControllerDelegate의 didCompleteWithAuthorization 메소드가 호출되지 않습니다. 그래서 비밀번호를 누르고 Continue 버튼을 눌러고 아무런 변화가 나타나지 않습니다 ㅜㅜ 왜이럴까요?


      func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) {         if let credential = authorization.credential as? ASAuthorizationAppleIDCredential {             userIdentifier = credential.user             fullName = credential.fullName?.givenName!             print("User: \(userIdentifier)")             print("fullName: \(fullName ?? "실패" )")             self.loginWithPost(self.userIdentifier, name: self.fullName!)         }     }
      • 이 게시글은 Ga-yo에 의해 3 years, 8 months 전에 수정됐습니다.
    • TTOzzi
      참가자
      • 글작성 : 10
      • 답글작성 : 13

      혹시 ASAuthorizationController 의 delegate 설정을 해주셨나요..?

      • Ga-yo
        참가자
        • 글작성 : 4
        • 답글작성 : 7

        sign in with apple 버튼을 눌렀을 때 실행되는 selector에 설정해주었습니다..!

        @objc func handleAuthorizationAppleIDButtonPress() {
        
                let appleIDProvider = ASAuthorizationAppleIDProvider()
                let request = appleIDProvider.createRequest()
                request.requestedScopes = [.fullName]
                let controller = ASAuthorizationController(authorizationRequests: [request])
        
                controller.delegate = self
                controller.presentationContextProvider = self
                controller.performRequests()
                print("handleAuthorizationAppleIDButtonPress 성공")
        
            }
        
        • TTOzzi
          참가자
          • 글작성 : 10
          • 답글작성 : 13

          performRequests 까지 정상적으로 불렸다면 didCompleteWithAuthorization 이 안 불리는 건 아마 요청에 실패해서인 것 같은데..
          didCompleteWithError 메소드는 불리는지 확인해보시겠어요?

          • Ga-yo
            참가자
            • 글작성 : 4
            • 답글작성 : 7

            로그인하다가 중간에 Cancle 누르면 didCompleteWithError가 호출되긴해요 근데 정상적으로 비번치는 창까지 가는데 비번치고나서는 아무런 동작이 안되네요.. .. didCompleteWithAuthorization이 실행되어야지 인증이 가능할텐데 ㅠㅠ

            • TTOzzi
              참가자
              • 글작성 : 10
              • 답글작성 : 13

              음.. 올려주신 코드에는 문제가 없는 것 같은데 에러메세지가 나오는 것도 아니고 이상하네요 ㅠㅠ
              https://gist.github.com/phlippieb/8a250129fd11cbe0f7902981d612a0e8
              시뮬레이터에선 안됐는데 실제 기기에서는 됐었던 경우도 있긴 하다네요..

              • Ga-yo
                참가자
                • 글작성 : 4
                • 답글작성 : 7

                실제 기기로 연결해서 실행해보려고 했는데 does not support the Sign In with Apple capability라고 뜨고 capability에서 sign in with apple를 지워야만 실제 기기에서 실행이 됩니당… 왜 이럴까요 . . .아니면 서버 연동하는데 문제가 있을까요..?

              • TTOzzi
                참가자
                • 글작성 : 10
                • 답글작성 : 13

                제가 구현했을 땐 따로 안지워도 됐었는데… 아마 capability 관련 문제가 있는듯 하네요!

1 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 743-81-02195
통신판매업 신고번호 : 제 2022-충북청주-1278 호
고객센터 : 카카오톡채널 @yagom