2021. 10. 25. 17:24ㆍiOS/iOS memo
안녕하세요 bannavi입니다^ㅅ^
새벽 6시까지 아니 그냥 아침까지 고민했던것이 선배 개발자님의 조언 한마디로 해결이 되는 매직을 경험하고 달려왔습니다.
제가 구현하려고 했던건, 애플이든 구글이든 로그인을 한 다음 앱의 설정창에 들어가면
아래와 같이 설정창 상단에 이름 또는 닉네임이 보이도록 하는거였어요.
예를들면 구글로 로그인했을때는 제 구글 닉네임이 딱 보여져야하고요("치킨터미네이터")
애플로 로그인 했을때는 제 이름 "반나비"가 보여져야 하는거였죠.
아래 그림처럼요.
휴, 분명히 오류없음을 확인하고 버그없이 기능구현도 잘했고, testflight에서도 버그없이 잘 실행되는걸 확인했는데..
문제는 애플로 로그인했을때 문제가 발생했어요. 애플로 로그인하고 설정창을 봤는데 "반나비" 이름이 안보이고
저 부분이 공란으로 비워져 있는거에요.
1. 일단 코드부터 잘못된게 없는지 살펴봤어요.
코드에는 문제가 없었어요. 왜냐하면 똑같은 코드, 똑같은 testflight버전을 다운받았는데
제 친구 휴대폰 기기에서 실행했을땐 정상적으로 되는거에요. (이때부터 킹받기 시작함)
뭐가 문제일까.. "기기 설정"에 문제가 있는건 아닐까 생각해보게됐어요
2. 애플 로그아웃을 해본다.
그래서 기기에 설치되어 있는 앱을 삭제하고, 제 기기에 로그인되어있는 애플 로그인도 로그아웃 처리를 했는데
별 차도가 없었어요..
3. Apple ID를 사용하는앱에서 Apple ID사용중단을 클릭한다
https://developer.apple.com/forums/thread/121496
그전에 잠깐, 애플로그인은 초기 로그인할때만 정보를 받아오고 동일한 계정으로 Apple 로그인을 사용하여 앱에 두번 이상 로그인하면
사용자 정보가 공유되지 않으며 ASAuthorizationAppleIDCredential에 사용자 식별자만 반환된다.는 점을 알고계시나요?
(아 뭔소리야....)
쉽게 말해서 애플로그인을 최초로 할때만
이름: 반나비,
이메일: bannavi@test.com 이런 로그인 정보를 뿌려주고,
두번째부터 로그인 할때는 애플이 자동으로
"오, 너 로그인 한번 했었지? i know i know~~이번에는 정보 또 안뿌려주고 useridentifier만 이용할 수 있게 할거지롱!" 가
된다는 거에요. 그래서 최초 로그인을 했을때 그 user의 useridentifier정보를 저장해두는게 중요해요.(UserDefaults이용)
그래야 두번째 로그인부터는 UserDefaults로 저장해두었던 useridentifier.name 데이터를 사용할 수 있게 되니까요.
이해가 되셨나요?
후. 그래서 저는 이 부분에 문제가 있나 싶어서 제 기기에 있는 제 앱도 삭제해보고, 애플 로그아웃도 해보고했는데 별 차도가 없는거에요..
그래서 testflight버전 어플을 삭제했다가, 제 개인 프로젝트 버전을 따로 빌드해봤다가...
뭔가 데이터가 꼬였나.. 싶어서 고민이던차에 6시에 잠이들었어요.
다음날 아침 일어나자마자.. 고민을 좀 더 해보고..... 개발자 지인분께 위의 1번과 2번을 시도해봤는데 뭐가 문제인지 잘 모르겠습니다.
힌트 키워드를 주실 수 있으신지요~~ㅠㅠ 하고 SOS를 쳤는데..!
"기기에서 애플 로그아웃을 하는건 의미가 없습니다. Apple ID사용 중단에 대해서 알아보세요"
라고 해주셨는데 유레카 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ꺅
기기 설정 - 이름 클릭 - 암호 및 보안을 클릭하면 보이는 이 "Apple ID를 사용하는 앱"에서 연결을 해제해야하는 거였어요..
아마 다른 testflight는 정상으로 처리되는데 제 앱에서 처리가 잘 안됐었던 이유는
제가 testflight버전 앱을 삭제하고 따로 추가적으로 작업한 프로젝트를 빌드해서 사용해보다가 생긴 버그가 아닐까 싶습니다.
이렇게 여기서 제 앱의 apple id연결을 해제하고 다시 앱을 실행시켜서 애플로 로그인을 해보니
설정창에 제 이름이 정상적으로 뙇!!!! 나타났지모에요. 휴 결과적으로는 버그해결 완료!
확실히 오래 고민해보고 질문을 해서 그런지 다음엔 이런 실수를 안하게 될것같습니다ㅎㅎ
애플을 초기로그인 상태로 만들고 싶다면 애플로그인 로그아웃하기! 가 아니라 Apple ID를 사용하는 앱 해제하기.....
아주 뇌리에 꽂혀버렸네요
'iOS > iOS memo' 카테고리의 다른 글
navigation controller를 embed해서 이용하던 중 화면이 안보일때 (0) | 2021.12.02 |
---|---|
iPhone is busy: Making iPhone ready for development (0) | 2021.10.30 |
LLDB)야무진 디버깅을 위해 LLDB 기초를 배워보자 (0) | 2021.10.17 |
SwiftLint로 코드를 깔꼼하게 바꿔보자.(self코드리뷰) (0) | 2021.10.14 |
리젝처리를 받고 애플 담당자와 겨뤄야 할때가 왔다...면?(feat. Resolution Center) (0) | 2021.10.14 |