diff --git a/framework/examples/ios-demo/HippyDemo/RenderPage/HippyDemoViewController.mm b/framework/examples/ios-demo/HippyDemo/RenderPage/HippyDemoViewController.mm index 87183a5e03b..43481a05867 100644 --- a/framework/examples/ios-demo/HippyDemo/RenderPage/HippyDemoViewController.mm +++ b/framework/examples/ios-demo/HippyDemo/RenderPage/HippyDemoViewController.mm @@ -148,8 +148,6 @@ - (void)runHippyDemo { moduleProvider:nil launchOptions:launchOptions executorKey:uniqueEngineKey]; - _hippyBridge.contextName = uniqueEngineKey; - _hippyBridge.moduleName = @"Demo"; _hippyBridge.methodInterceptor = self; [_hippyBridge setInspectable:YES]; diff --git a/framework/ios/base/bridge/HippyBridge.h b/framework/ios/base/bridge/HippyBridge.h index 8e810d12bd0..5563a61ac91 100644 --- a/framework/ios/base/bridge/HippyBridge.h +++ b/framework/ios/base/bridge/HippyBridge.h @@ -139,7 +139,7 @@ HIPPY_EXTERN NSString *HippyBridgeModuleNameForClass(Class bridgeModuleClass); * @discussion Context name will be shown on safari development menu. * only for JSC engine */ -@property(nonatomic, copy)NSString *contextName; +@property (nonatomic, copy) NSString *contextName; /** * Set module name diff --git a/framework/ios/base/executors/HippyJSExecutor.mm b/framework/ios/base/executors/HippyJSExecutor.mm index d395cef9e67..cc38925acaa 100644 --- a/framework/ios/base/executors/HippyJSExecutor.mm +++ b/framework/ios/base/executors/HippyJSExecutor.mm @@ -363,10 +363,14 @@ - (void)setContextName:(NSString *)contextName { if (!contextName) { return; } - WeakCtxPtr weak_ctx = self.pScope->GetContext(); + __weak __typeof(self)weakSelf = self; [self executeBlockOnJavaScriptQueue:^{ @autoreleasepool { - SharedCtxPtr context = weak_ctx.lock(); + __strong __typeof(weakSelf)strongSelf = weakSelf; + if (!strongSelf.pScope) { + return; + } + SharedCtxPtr context = strongSelf.pScope->GetContext(); if (!context) { return; } diff --git a/framework/ios/debug/devtools/HippyDevInfo.m b/framework/ios/debug/devtools/HippyDevInfo.m index 7ce2689edb7..dc07711cb31 100644 --- a/framework/ios/debug/devtools/HippyDevInfo.m +++ b/framework/ios/debug/devtools/HippyDevInfo.m @@ -63,7 +63,7 @@ - (void)parseWsURLWithURLQuery:(NSString *)query { _wsURL = [debugWsURL substringFromIndex:range.location + range.length]; } -- (NSString *)assembleFullWSURLWithClientId:(NSString *)clientId contextName:(NSString *) contextName{ +- (NSString *)assembleFullWSURLWithClientId:(NSString *)clientId contextName:(NSString *)contextName { if (self.port.length <= 0) { self.port = [self.scheme isEqualToString:HippyDevWebSocketSchemeWs] ? @"80" : @"443"; } diff --git a/renderer/native/ios/renderer/HippyRootView.mm b/renderer/native/ios/renderer/HippyRootView.mm index 00aa0c71a5e..33f77e015a0 100644 --- a/renderer/native/ios/renderer/HippyRootView.mm +++ b/renderer/native/ios/renderer/HippyRootView.mm @@ -100,6 +100,9 @@ - (instancetype)initWithBridge:(HippyBridge *)bridge if (!_bridge.moduleName) { _bridge.moduleName = moduleName; } + if (!_bridge.contextName) { + _bridge.contextName = moduleName; + } _moduleName = moduleName; _appProperties = [initialProperties copy]; _delegate = delegate;