diff --git a/React/Modules/RCTDevMenu.m b/React/Modules/RCTDevMenu.m index 1ae0e7ffc..63ac438d1 100644 --- a/React/Modules/RCTDevMenu.m +++ b/React/Modules/RCTDevMenu.m @@ -176,11 +176,6 @@ RCT_EXPORT_MODULE() name:RCTJavaScriptDidLoadNotification object:nil]; - [notificationCenter addObserver:self - selector:@selector(jsLoaded:) - name:RCTJavaScriptDidFailToLoadNotification - object:nil]; - _defaults = [NSUserDefaults standardUserDefaults]; _settings = [[NSMutableDictionary alloc] initWithDictionary:[_defaults objectForKey:RCTDevMenuSettingsKey]]; _extraMenuItems = [NSMutableArray new]; @@ -271,6 +266,8 @@ RCT_EXPORT_MODULE() */ - (void)updateSettings:(NSDictionary *)settings { + [_settings setDictionary:settings]; + // Fire handlers for items whose values have changed for (RCTDevMenuItem *item in _extraMenuItems) { if (item.key) { @@ -282,11 +279,6 @@ RCT_EXPORT_MODULE() } } - if ([settings isEqualToDictionary:_settings]) { - return; - } - - [_settings setDictionary:settings]; self.shakeToShow = [_settings[@"shakeToShow"] ?: @YES boolValue]; self.profilingEnabled = [_settings[@"profilingEnabled"] ?: @NO boolValue]; self.liveReloadEnabled = [_settings[@"liveReloadEnabled"] ?: @NO boolValue]; diff --git a/React/Modules/RCTRedBox.m b/React/Modules/RCTRedBox.m index 810830c9d..4d82278c9 100644 --- a/React/Modules/RCTRedBox.m +++ b/React/Modules/RCTRedBox.m @@ -17,7 +17,6 @@ #if RCT_DEBUG @interface RCTRedBoxWindow : UIWindow - @end @implementation RCTRedBoxWindow @@ -77,13 +76,6 @@ reloadButton.frame = CGRectMake(buttonWidth, self.bounds.size.height - buttonHeight, buttonWidth, buttonHeight); [rootView addSubview:dismissButton]; [rootView addSubview:reloadButton]; - - NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; - - [notificationCenter addObserver:self - selector:@selector(dismiss) - name:RCTReloadNotification - object:nil]; } return self; } @@ -261,6 +253,9 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithCoder:(NSCoder *)aDecoder) @end +@interface RCTRedBox () +@end + @implementation RCTRedBox { RCTRedBoxWindow *_window; @@ -309,7 +304,14 @@ RCT_EXPORT_MODULE() - (void)dismiss { - [_window dismiss]; + dispatch_async(dispatch_get_main_queue(), ^{ + [_window dismiss]; + }); +} + +- (void)invalidate +{ + [self dismiss]; } @end