diff --git a/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.mm b/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.mm index 6eb13f363e4ace..7b96753866a0cc 100644 --- a/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.mm +++ b/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.mm @@ -32,6 +32,10 @@ using namespace facebook::react; +#if TARGET_OS_OSX // [macOS +static NSString *sRCTAppDelegateMainWindowFrameAutoSaveName = @"RCTAppDelegateMainWindow"; +#endif // macOS] + @implementation RCTAppDelegate - (instancetype)init @@ -92,7 +96,10 @@ - (void)loadReactNativeWindow:(NSDictionary *)launchOptions rootView.frame = frame; self.window.contentViewController = rootViewController; [self.window makeKeyAndOrderFront:self]; - [self.window center]; + if (![self.window setFrameUsingName:sRCTAppDelegateMainWindowFrameAutoSaveName]) { + [self.window center]; + } + [self.window setFrameAutosaveName:sRCTAppDelegateMainWindowFrameAutoSaveName]; #endif // macOS] } @@ -132,4 +139,4 @@ - (void)setBridgeAdapter:(RCTSurfacePresenterBridgeAdapter *)bridgeAdapter self.reactNativeFactory.rootViewFactory.bridgeAdapter = bridgeAdapter; } -@end \ No newline at end of file +@end