728x90
반응형

RN의 가장 큰 장점을 꼽으라면, 나는 code push를 꼽는다.

hotfix 가 있을때 빠른 대응을 할 수 있기 때문이다.

주로 나는 코드푸쉬를 할때, 코드푸쉬할 것이 있으면, 로딩화면을 띄워주고 업데이트 후 재시작을 하는 편이다.

 

https://liveforownhappiness.tistory.com/69

 

[ React Native ] react-native-code-push hook 으로 분리

App.tsx 에서 progress / message 받아서 사용 OTA 방식처러 보인다 직접 작성한 코드라 변경하셔서 사용하십셔 import { useEffect, useState } from 'react'; import CodePush, { DownloadProgress } from 'react-native-code-push'; const

liveforownhappiness.tistory.com

 

이번에 앱업데이트를 하면서 안드로이드에서는 정상작동을 하는 것을 확인했지만,

 

ios에서 앱업데이트가 되고나서 롤백이 되는 현상을 경험했다.

 

롤백이 될뿐아니라, 업데이트가 완료되고 앱이 꺼지는 현상을 발견했다.

 

해결책은 patch-package 였다.

현재 rn 0.72.3 버전을 사용 하고있는데

해당파일에

 

diff --git a/node_modules/react-native/ReactCommon/jsc/JSCRuntime.cpp b/node_modules/react-native/ReactCommon/jsc/JSCRuntime.cpp
index 7958519..5ecb903 100644
--- a/node_modules/react-native/ReactCommon/jsc/JSCRuntime.cpp
+++ b/node_modules/react-native/ReactCommon/jsc/JSCRuntime.cpp
@@ -409,12 +409,6 @@ JSCRuntime::~JSCRuntime() {
// has started.
ctxInvalid_ = true;
JSGlobalContextRelease(ctx_);
-#ifndef NDEBUG
- assert(
- objectCounter_ == 0 && "JSCRuntime destroyed with a dangling API object");
- assert(
- stringCounter_ == 0 && "JSCRuntime destroyed with a dangling API string");
-#endif
}
 
std::shared_ptr<const jsi::PreparedJavaScript> JSCRuntime::prepareJavaScript(

 

를 추가해주었다.

 

Simulator Screen Recording - iPhone 14 Pro Max - 2024-01-30 at 11.37.11.mp4
4.16MB

 

 

정상작동 확인

728x90
반응형

+ Recent posts