iOS controller pop 后 app 崩溃
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- ios, javascript, objective-c
- Ambito
- mobile-dev
Direzione di ricerca
Inizia da HMJSCExecutor.m intorno alla riga 1315 e riproduci la sequenza segnalata: un UITabBarController nativo che gestisce più HMViewControllers carica risorse JavaScript, quindi il controller della barra delle schede viene rimosso. Controlla il crash relativo alla distruzione registrata di HMJSContext e verifica che il componente venga distrutto normalmente senza crash.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
描述
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];
崩溃的代码位置

- Lingua principale
- Objective-C
- Stelle
- 1.4k
- Fork
- 186
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di didi/Hummer
-
支持svg图吗?Apertaenhancement Needs: Triage 🔍
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
T i t li leApertabug Needs: Triage 🔍
Difficoltà 5/5 Più di una settimana Idoneità per principianti 1/100
-
升级yoga3(yoga2)后,scroller 在不设置size 时,两端大小表现不一致Forse di nuovo libera @yFeii l’ha presa 825 giorni fa e non c’è nessuna pull request aperta. Apertabug Needs: Triage 🔍
-
bug Needs: Triage 🔍
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
-
bug Needs: Triage 🔍
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Issue simili
-
Needs: Author Feedback Needs: Repro
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
react/react-native#59203 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
友链申请Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
TouchFriend/BiliBiliMApp#46 ·
-
macOS: clicking a menu item that has a submenu closes the menu instead of opening the submenuAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
blackboardsh/electrobun#581 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
serhii-londar/open-source-mac-os-apps#1662 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 3 giorni