uni-app 【严重】PGDeviceStatus getCurrentType: 底层框架代码闪退
uni-app 【严重】PGDeviceStatus getCurrentType: 底层框架代码闪退
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Mac | Sonoma 14.2 | HBuilderX |
- 产品分类:uniapp/App
- PC开发环境操作系统:Mac
- 手机系统:iOS
- 手机系统版本号:iOS 17
- 手机厂商:苹果
- 手机机型:iPhone 14 Pro
- 页面类型:vue
- vue版本:vue2
- 打包方式:离线
操作步骤:
- 打开应用
预期结果:
- 应用正常运行
实际结果:
- 应用闪退
bug描述:
-[PGDeviceStatus getCurrentType:] (PGDeviceStatus.mm:81)
多个机型,多个版本系统会出现程序崩溃闪退
你好,这个接口是获取网络类型会触发,我们排查了各种情况wifi,蜂窝网络,飞行模拟,都无法复现这个问题,你们有能复现的方法吗?
暂无复现方法。但bugly以及App Store的crash记录都陆续有该问题上报,能否有方法移除该函数的调用。或者是有其它库缺少导致,是的话,可否告知?
0
libobjc.A.dylib
_objc_msgSend + 32
1
-[PGDeviceStatus getCurrentType:] (PGDeviceStatus.mm:79)
2
-[PDRCoreFeature Execute:] (PDRCoreFeature.m:755)
3
-[PDRCoreApp handleCmds:] (PDRCoreApp.m:3020)
4
-[PDRCoreAppFrame webViewEnginde:didReceiveSyncScriptMessage:] (PDRCoreAppFrame.m:2828)
5
-[H5WeexWebview handleMessage:withObject:] (H5WeexWebview.m:0)
6
28-[H5WeexWebview refreshWeex]_block_invoke (H5WeexWebview.m:0)
7
-[WXSDKInstance(DCPlusBridge) execSync:] (WXSDKInstance+Bridge.m:40)
8
-[PlusWeexModule execSync:] (PlusWeexModule.m:0)
9
CoreFoundation
invoking + 148
10
CoreFoundation
-[NSInvocation invoke] + 428
11
-[WXModuleMethod invoke] (WXModuleMethod.m:110)
12
42-[WXBridgeContext registerGlobalFunctions]_block_invoke_5.214 (WXBridgeContext.mm:0)
13
43-[WXJSCoreBridge registerCallNativeModule:]blockinvoke (WXJSCoreBridge.mm:0)
14
CoreFoundation
invoking + 148
15
CoreFoundation
-[NSInvocation invoke] + 428
16
JavaScriptCore
0x00000001d29d5000 + 5043912
17
JavaScriptCore
0x00000001d29d5000 + 5042588
18
JavaScriptCore
0x00000001d29d5000 + 5035576
19
JavaScriptCore
0x00000001d29d5000 + 4621356
20
JavaScriptCore
0x00000001d29d5000 + 4607692
21
JavaScriptCore
0x00000001d29d5000 + 4607692
22
JavaScriptCore
0x00000001d29d5000 + 4607692
23
JavaScriptCore
0x00000001d29d5000 + 4607692
24
JavaScriptCore
0x00000001d29d5000 + 4607692
25
JavaScriptCore
0x00000001d29d5000 + 4439216
26
JavaScriptCore
0x00000001d29d5000 + 13459732
27
JavaScriptCore
JSObjectCallAsFunction + 480
28
JavaScriptCore
0x00000001d29d5000 + 8692
29
-[WXJSCoreBridge callJSMethod:args:] (WXJSCoreBridge.mm:0)
30
-[WXBridgeContext callJSMethod:args:onContext:completion:] (WXBridgeContext.mm:0)
31
-[WXBridgeContext _sendQueueLoop] (WXBridgeContext.mm:1130)
32
-[WXBridgeContext executeJsMethod:] (WXBridgeContext.mm:949)
33
32-[WXBridgeManager callJsMethod:]_block_invoke (WXBridgeManager.m:482)
34
+[WXBridgeManager _performBlockOnBridgeThread:instance:] (WXBridgeManager.m:179)
35
Foundation
NSThreadPerformPerform + 264
36
CoreFoundation
CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 28
37
CoreFoundation
CFRunLoopDoSource0 + 176
38
CoreFoundation
CFRunLoopDoSources0 + 244
39
CoreFoundation
_CFRunLoopRun + 828
40
CoreFoundation
_CFRunLoopRunSpecific + 612
41
Foundation
-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
42
-[WXBridgeManager runLoopThread] (WXBridgeManager.m:103)
43
Foundation
NSThreadstart + 716
44
libsystem_pthread.dylib
pthread_start + 148
这是全部的堆栈信息,如果是getCurrentType方法有兼容问题的话,就看下能否做好catch处理,或者是给出方法,让开发者选择调用,不要强制调用
回复 z***@163.com: 应用启动Uni框架内部会调用这个方法,这个方法实现非常简单,就是返回个网络状态,最好还是想办法复现一下,我们也在排查一下这个调用链相关的其他方法