일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- stack
- github
- mac
- 한글
- darkmode
- iOS16
- Realm
- Apple
- rxswift
- UIButton
- IOS
- Archive
- appstore
- Swift
- window
- Git
- JPA
- view
- 개발자
- Xcode
- 웹뷰
- Python
- FLUTTER
- Code
- MacOS
- Notification
- error
- Session
- Firebase
- SwiftUI
- Today
- Total
EEYatHo 앱 깎는 이야기
심사할 때만 애플 로그인 실패 - EEYatHo iOS 본문
요약
사내 모든 테스트 케이스 및 환경에서는 애플 로그인 정상 작동함.
애플측에 테스트 계정을 바꿔달라는 요구 + 전화 요구함.
이틀 뒤에 전화왔고, 테스트 계정 바꾸었더니 정상 작동하고, 심사 통과라고함.
애플 계정의 문제인지, 인증 서버의 문제인지는 불명확하다고 함.
시나리오
사내 앱이, 애플 로그인시, 이메일을 추가로 수집하고 있었고, 반려당했다.
Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
애플 로그인을 했으면, 추가적인 데이터 수집없이 앱 이용이 가능해야한다.
그래서 회의결과, private relay email 을 사용하는 쪽으로 작업했고, 다시 심사를 넣었다.
그런데 이번엔. 애플 로그인이 안된다고 앱이 반려당했다.
Guideline 2.1 - Performance - App Completeness
반년정도 잘되던 애플 로그인이 갑자기 안된다구?????
내가 잘못건드렸나? 레거시 코드라서 조심스레 작업했는데..
내가 한 건 그냥 애플로그인으로 받아온 데이터에서, email을 가공해서 사용했을 뿐이라구;
가장 큰 문제는, QA팀 및 사내에서 할 수 있는 모든 테스트 케이스 및 환경에서는 정상 작동 한다는 것이다.
통계로그, api호출로그를 살펴보면, 사내 서버에서 애플 서버로 인증받을 때 오류가 발생한다.
중복호출, 디코딩 에러, NAT64 지원, 인증에 사용되는 authorizationCode의 만료 등 정말 많은 케이스를 고려해보았다.
하지만 애플에서 심사할 때만 실패하는 것에 대해 명쾌하게 떨어지는 답이 없었다.
이런저런 회의 끝에, 애플측에 테스트 계정을 바꿔봐달라고 요구했었고,
하루 뒤 반응이 없자, 테스트 환경을 정확히 알아볼 심산으로 애플측에 전화를 요구했다.
계속해서 깨지려는 멘탈 부여잡고, 고민하던 중.
이틀 뒤 전화가 왔고, 테스트에 사용한 애플 계정을 바꾸었더니 정상 작동해서 통과시켜주겠다고 한다.
테스트 계정 문제인지, 애플 인증 서버의 문제인지 파악은 안된다고 한다.....
정말 문제의 원인을 못찾겠으면 테스트 계정을 바꿔봐달라고 요청하자.
그냥 주절주절 느낀점
내가 건들였을 때 발생한 문제고, 4번이나 반려당하고, 여러 팀의 일정에 영향을 줄 정도로 몇일동안 문제가 해결되지않자,
개발자로써의 자존감이 떨어지고, 심지어 꿈에서도 해결방법을 구글링하고 있었다....
Acti로 시작하는 어떤 키워드를 발견하고 답을 찾았다!!! 할 때 쯤 꿈에서 깼다
후 정신차리자
그래. 수많은 유저 + 사내 테스트까지 잘되는데 애플에서만 안되면 애플측의 계정이나 서버가 문제지!!!! ㅡㅡ
여태 살면서 부딪힌 문제들은 결국엔 개발자 문제였었는데, 애플같은 거대 시스템이 문제였던 경우는 처음이다.
나에게서 답을 찾는 것도 좋지만, 시스템에 대한 의혹도 꺼두지 말자.
그런데 항상 시스템보단 내가 문제였었다구 아악..
음.. 나 포함, QA, 백엔드, 기획까지 모두 몇일동안 머리싸메고,
나는 밤도 새고... 꿈에서 구글링까지 했는데... 이렇게 끝이네...
그래도.. 공부.. 많이 됐지.. 음음ㅎ.. 🫠
'iOS, Swift' 카테고리의 다른 글
Swift ) nib must contain exactly one top level object which must be a UITableViewCell instance - EEYatHo iOS (0) | 2021.10.25 |
---|---|
Swift ) Firebase crashlytics dSYM 등록 - EEYatHo iOS (0) | 2021.10.25 |
Swift ) UITableView reloadRows 애니메이션 none 안됨 - EEYatHo (0) | 2021.10.12 |
Xcode ) 빌드 클린 - EEYatHo (0) | 2021.10.07 |
Swift ) Privaterelay Email - EEYatHo (1) | 2021.10.06 |