diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.mm b/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.mm index 9293fa54c3..9caff56495 100644 --- a/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.mm +++ b/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.mm @@ -80,6 +80,7 @@ - (void)dealloc { _jsContext.instanceId = nil; __block JSContext* theContext = _jsContext; + _jsContext = nil; // Make sure that the context MUST be freed in JS thread. WXPerformBlockOnBridgeThreadForInstance(^{ theContext = nil; // release the context in js thread to avoid main-thread deadlock }, _weexInstanceId); diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m index 360ad4f9bd..7a22748e87 100644 --- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m +++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m @@ -606,6 +606,10 @@ - (BOOL)_handleConfigCenter BOOL alwaysUseMRCForObjectToWeexCore = [[configCenter configForKey:@"iOS_weex_ext_config.alwaysUseMRC" defaultValue:@(NO) isDefault:NULL] boolValue]; ConvertSwitches(isIOS13, useMRCForInvalidJSONObject, alwaysUseMRCForObjectToWeexCore); } + else { + BOOL isIOS13 = [[[UIDevice currentDevice] systemVersion] integerValue] == 13; + ConvertSwitches(isIOS13, YES, NO); + } return NO; }