[RN] RCTBridge required dispatch_sync to load RCTDevLoadingView. This may lead to deadlocks. Warning

React-Native로 작성된 프로젝트를 iOS Simulator로 실행시켰을 때,

'RCTBridge required dispatch_sync to load RCTDevLoadingView. This may lead to deadlocks.'의 Warning이 발생하는 것을 확인했다.

나타나는 Warning이 프로젝트 코드에서 큰 문제가 되는 것 같지 않아서 무시하면서 프로젝트를 진행하였지만. Console 창에서 제일 첫 번째 줄에 계속해서 나타나는 게 신경쓰이기 시작했다..!

해결 방법은 생각보다 간단했다.

StackOverFlow 의 글을 통해 해결 할 수 있었다 !

자신의 프로젝트 Directory에서 ios/Project명/AppDelegate.m 파일을 아래의 코드와 같이 수정 후 다시 실행하면 괴롭히는 Warning이 사라지게 된다.

#import "AppDelegate.h"

// ---- Code to add
#if RCT_DEV
#import <React/RCTDevLoadingView.h>
#endif
// ---
...

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
#if defined(FB_SONARKIT_ENABLED) && __has_include(<FlipperKit/FlipperClient.h>)
  InitializeFlipper(application);
#endif
  
  RCTBridge *bridge = [self.reactDelegate createBridgeWithDelegate:self launchOptions:launchOptions];

// ---- Code to add
  #if RCT_DEV
  	[bridge moduleForClass:[RCTDevLoadingView class]];
  #endif
// ----
...

좋은 웹페이지 즐겨찾기