initializeUpdateAfterRestart

설명

initializeUpdateAfterRestart

notion image
앱이 재시작 되자마자 호출되는 함수다.
업데이트 시킬 패키지가 있다면 업데이트를 적용시키기 위한 값을 설정한다.
💡
isPending의 의미 : 업데이트 다운로드 및 설치는 완료했고, 적용을 위해 재시작을 기다리고 있는 상태를 뜻함
💡
롤백 진행여부 판단 기준인 sNeedToReportRollbacktrue로 설정하는 유일한 곳이다.
needToReportRollback
함수에서 참조한다.
 
pendingUpdate 데이터가 없다면 아무것도 하지 않는다.
pendingUpdate가 있다면 isLoading 값에 따라 행위가 나뉜다.
  • (else 부분) pendingUpdate.isLoading이 아니라면 업데이트 적용을 위해 isLoading을 true로 설정한다.
  • (if 부분) pendingUpdate.isLoading이 true인 상태로 여기로 도달했다는 것은, 업데이트 적용 과정에서 문제가 생겼다는 의미이므로, 롤백을 하기 위해 rollbackPackage() 함수를 호출한다.
 

호출 시기

notion image
CodePush 생성자 함수 호출 시 호출된다.
즉, initializeUpdateAfterRestart 함수는 코드푸시 사용 시 가장 먼저 호출되는 함수들 중 하나라고 볼 수 있다.