학기 중이라 바빠서 신경 못쓴 것도 있지만, 거의 한 달간 앱 심사를 여러 번 올리고 애플님한테 리젝당하고.. 돌아보면 많은 것을 배운 시간이었다.
리젝 당한 이유는 소셜 로그인(카카오 로그인, 애플 로그인) 때문이였는데, Google PlayStore (Android)에서 보는 심사 기준보다 깐깐하게 보니 기준에 맞춰 구현하는 것이 중요하다고 할 수 있다.
1. 카카오 로그인
우선 회원가입할 때 이메일을 사용하기 때문에 이메일은 필수로 가져올 수 있어야 했다. (카카오 디벨로퍼스 홈페이지에서 이메일 필수 동의 설정해야 하고, 필수 동의 설정 하려면 사업자 등록 번호 입력해야 됨 -> 이것 때문에 예전에 개인 사업자 등록함ㅋ)
카카오톡이 설치되었으면 별도로 입력하는 것 없이 이메일을 가져올 수 있지만,
카카오톡이 설치되지 않았을 때, 에러를 발생시키는데 catch문에서 웹으로 넘어가서 카카오 이메일, 비밀번호 입력 후 정보 가져올 수 있어야 함.
2. 애플 로그인
애플 로그인 시, 처음에만 이메일을 가져온다. 2번째 로그인 시 이메일에 null값을 가져오므로 처음에 당황했다.
해결법은 로컬 데이터베이스에 해당 이메일을 저장해서 다음에 로그인 할 때 이 이메일 정보를 활용해야 한다.
2-1. 회원 탈퇴 기능
애플 로그인을 하는 경우 회원 탈퇴 기능이 있어야 함.
어느 블로그에 회원 탈퇴 로직을 구현하려면, 아래와 같은 과정이 필요하다고 해서, 백엔드 스프링 개발자님에게 해당 사항을 요청드렸다.
- Apple 로그인 시 authorization_code를 포함하여 API Server에 전달
- client_secret을 생성 할 수 있도록 한다. → Apple Developer Key Info 필요
- Apple Server API를 접근 하기 위한 access_token 생성
- 애플 로그인 회원 탈퇴 시 Apple Server로 사용자 토큰 해지 처리 로직 개발
회원 탈퇴 시, 토큰 해지 처리가 필요한지, 아니면 데이터베이스에서만 알아서 회원탈퇴 처리 하면 되는지 고민이였다.
그러다가 토큰 해지 처리 로직이 없어도 심사가 통과된다는 이야기를 듣고, 카카오 로그인, 애플 로그인, 회원탈퇴 기능을 넣은 상태에서 심사에 올렸다.
기말고사 끝나는 날에 심사 통과가 되어서 두 배로 기분이 좋았다ㅎㅎ
'개발 > iOS' 카테고리의 다른 글
iOS Flutter 프로젝트에서 flutter_downloader 1.11.4 통합하기 (2) | 2024.01.24 |
---|---|
XCode + AppStore + iOS :: 외부 개발자에게 iOS 앱 개발권한, 배포권한 주는 방법 (Provisioning Profile, private key, .p12 인증서) (0) | 2022.11.14 |