상세 컨텐츠

본문 제목

react-native 안드로이드 codepush 이슈

개발기록

by 까먹기전에 2024. 5. 13. 13:24

본문

반응형

오늘의 이슈..

 

안드로이드에서만 발생한다.

 

react-native-code-push를 8.1.0 버전을 사용중이다가 버전업그레이드로 8.2.2버전이 되었다.

 

그리고 옵셔널 설치를 진행했는데 (mandatory X)

 

다운로드만 받았는데데 스플래시화면으로 넘어갔다

 

현재 내가 개발한앱은

 

앱오픈 -> 코드푸시 검사 -> 필수설치 발견 -> 스플래시화면을 다시 오픈 -> 다운로드 진행을볼수있는 화면으로 전환 -> 앱 재시작

                                           옵셔널 설치 발견 -> 다운로드만 진행 -> 다음 앱시작시 codePush.notifyAppReady() 수행

 

 

이 구조이다.

 

그런데 8.2.2 버전으로 업그레이드 하고나서 안드로이드에서 옵셔널 코드푸시를 다운로드만 받았는데

                            localPackage
                            .install(installType)
                            .then(() => {
                                setCodepushState('UPTODATE');
                                setCodePushUpdateState('COMPLETE');
                                SplashScreen.show()
                            })
                            .catch(error => {
                                setCodePushUpdateState('INSTALL_ERROR');
                            });

 

SplashScreen.show() 이 수행이 된다.

 

저번주까지만 해도 잘쓰던 코드들이 갑자기 안드로이드에서만 이상해지더라 ..

 

그리고 앱재시작을 하면 인스톨이 안되고 한참뒤에 롤백이 되더라..

 

앱 재시작후 인스톨시 실패해서 롤백처리

 

 

깃헙이슈에도 비슷한 케이스가 많은거같은데 해결이 딱히 없고 버전다운그레이드했다라는 말밖에 없어서

 

다시 버전을 낮추었는데도 다운로드 되자마자 인스톨이 되어버린다.

 

근데 인스톨 자체는 잘됨

 

그래서 옵셔널 설치는 다음번 앱실행때 설치가되어야하는데 왜 then이 실행되는지는 분석중인데 급한대로 

 

if(update.isMandatory){
      SplashScreen.show()
}

로 변경했다.

관련글 더보기