-
Notifications
You must be signed in to change notification settings - Fork 190
Open
Labels
Description
描述
iOS controller pop 后 app 崩溃
Hummer version:
master branch
复现步骤
- 导出 tabbar 视图组件
2.组件中使用原生 UITabBarController
3.UITabBarController 管理多个 HMViewController
4.HMViewController 加载 js 资源
5.tabbar 所在控制器 pop 后 控制台输出 ‘HMJSContext 销毁’
6.执行到 HMJSCExecutor.m 1315行 后崩溃
预期结果
组件正常销毁
样例代码、屏幕截图或者仓库链接
js 使用:
let tabBar = new TabBar()
tabBar.items = [{},{}]
this.appendChild(tabBar)
tabbar 视图组件关键代码:
HMJSContext *context = [HMJSGlobal.globalObject currentContext:self.hmContext];
NSURL *url = [NSURL URLWithString:urlString];
if (url.scheme.length == 0) {
if (context) {
url = [[NSURL alloc] initWithString:urlString relativeToURL:context.url];
if (url.scheme.length == 0) {
return;
}
} else {
return;
}
}
HMViewController *controller = [[HMViewController alloc] initWithURL:url.absoluteString params:@{}];
[self setTabBarItemImage:controller.tabBarItem imageSrc:imageSrc isSelectedImage:NO];
[self setTabBarItemImage:controller.tabBarItem imageSrc:selectedImageSrc isSelectedImage:YES];
