详细问题描述
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
[内容] 制作百度文件识别原生插件在 xcode 上运行 一切正常 在HX上面运行识别成功之后返回崩溃 目前确认 dismissViewControllerAnimated 的时候崩溃的 但是具体原因查不出来 麻烦帮忙解决下
显示
UIViewController nowViewController = [self findVisibleVC];
[nowViewController presentViewController:vc animated:YES completion:nil];
隐层
UIViewController nowViewController = [self findVisibleVC];
[nowViewController dismissViewControllerAnimated:YES completion:nil];
callback(result,YES);
重现步骤
[步骤]
[结果]
[期望]
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
[IDE版本号]
[windows版本号]
[mac版本号]
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
[运行端版本号]
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
[编译模式是老模板模式还是新的自定义组件模式?]
App运行环境说明
[Android版本号]
[iOS版本号]
[手机型号]
[模拟器型号]
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
联系方式
[QQ] 1031588364
4 个回复
小人物115 (作者)
附件
CLP
UIViewController nowViewController = [self findVisibleVC];
[nowViewController dismissViewControllerAnimated:YES completion:nil];//你返回上一个controller,为什么用这个[self findVisibleVC];???
callback(result,YES);//这个是什么?
小人物115 (作者)
拿到当前的视图 然后进行dismiss
2019-07-19 17:16
小人物115 (作者)
这是 这个方法的实现
(UIViewController )findVisibleVC {
UIViewController visibleVc = nil;
UIWindow visibleWindow = nil;
NSArray windows = [[UIApplication sharedApplication] windows];
for (UIWindow *window in windows) {
if (!window.hidden && !visibleWindow) {
visibleWindow = window;
}
if ([UIWindow instancesRespondToSelector:@selector(rootViewController)]) {
if ([window rootViewController]) {
visibleVc = window.rootViewController;
break;
}
}
}
return visibleVc ?: [[UIApplication sharedApplication].delegate window].rootViewController;
}
2019-07-19 17:17
小人物115 (作者)
我在本地运行 是没有问题的 封装成插件直接就饿崩溃了
2019-07-19 17:18
小人物115 (作者)
因为我是在 NSObject类 中拿到 当前的 UIViewController 去进行跳转 当我识别成功回调成功的时候需要dismiss 掉 present 的页面 所以就拿到 当前的 UIViewController 去进行dismiss
2019-07-19 17:21
CLP
崩溃信息有吗
小人物115 (作者)
已解决 谢谢 哈
2019-07-22 10:32
CLP
没源码解决不了你的问题,你打个自定义基座,然后debug一下