-
FCM iOS SDK 5.16.0 부터 토큰을 정상적으로 보내지 못하는 버그가 있어서, 이슈가 해결되지 않은 버전으로 절대 릴리즈하지 않을 것을 권합니다.iOS 2019. 4. 21. 00:03반응형
Firebase IOS SDK 금년 1월에 릴리즈된 5.16.0 버전부터 토큰이 정상적으로 전송되지 않은 치명적인 버그가 있고, 아직도 고쳐지지 않은 상태라 해당 버전 이상으로 절대 업데이트하지 않을 것을 권합니다.
https://github.com/firebase/firebase-ios-sdk/issues/2438
가 해당하는 이슈인데,
이 이슈로 설명해드리자면
Firebase iOS 5.16.0 이상의 라이브러리로 빌드된 앱을 최초 설치할 시 (업데이트한 유저는 해당사항 안 뜹니다)
앱을 최초 설치할 때는 fcm 토큰이 정상적으로 작동하지만,
두 번째 앱 오픈부터 이 fcm 토큰으로 알림을 정상적으로 받을 수 없게 됩니다.
클라이언트 상의 버그니 서버에서 알림을 다시 받게 할 수 없을 뿐만 아니라,
이렇게 한 번 알림을 정상적으로 받지 못한 앱의 경우
몇 번이고 앱을 종료후 오픈해도 계속 알림을 받지 못하며,
심지어 버그가 발생하지 않은 이전 버전 (5.15.0) 으로 빌드된 앱으로 업데이트해도 해당 버그는 계속됩니다.
이를 해결하려면
let deleteCount = UserDefaults.standard.integer(forKey: oneTimeWorkaroundKey) if deleteCount == 0 { InstanceID.instanceID().deleteID { error in if let cError = error { log("APNS: Error on delete: \(cError)") } else { UserDefaults.standard.set(deleteCount + 1, forKey: oneTimeWorkaroundKey) } } }
같은 코드를 클라이언트에 입력해 주어야 하는데,
firebase ID를 강제 제거해버리는 극약처방을 해서 잘못된 부분을 없애는 것입니다.
현재 상황까지 파이어베이스 팀은 해당 버그를 재현조차 못 한 상황으로 판단됩니다.
따라서 5.16.0 이상 버전으로는 절대로 업데이트하면 안 되며,
한 경우 5.15.0 버전으로 앱을 다운그레이드하고 버그 있는 버전 사용자를 위해 위 코드를 삽입해서
가능한 빨리 배포하는 극약처방이 필요합니다.
반응형'iOS' 카테고리의 다른 글
iOS 13을 대응해야 하는 개발자가 알아야 하는 8가지 급한 불 리스트 (1) 2019.08.30 정보처리 산업기능요원을 생각한다면 반드시 숙지해야 할 사항들 (4) 2019.08.02 Swift 에서 한글, 특수문자 엔드포인트를 적절히 인코딩하기 (0) 2019.02.12 [펌] iOS TDD 자료 (0) 2018.12.12 iOS 네이밍 컨벤션 (0) 2018.12.11