z***@163.com
z***@163.com
  • 发布:2023-12-13 09:19
  • 更新:2023-12-14 16:03
  • 阅读:133

【报Bug】【严重】[PGDeviceStatus getCurrentType:]底层框架代码闪退

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: Sonoma 14.2

HBuilderX类型: 正式

HBuilderX版本号: 3.98

手机系统: iOS

手机系统版本号: iOS 17

手机厂商: 苹果

手机机型: iPhone 14 Pro

页面类型: vue

vue版本: vue2

打包方式: 离线

项目创建方式: HBuilderX

操作步骤:

打开应用

预期结果:

应用正常运行

实际结果:

应用闪退

bug描述:

-[PGDeviceStatus getCurrentType:] (PGDeviceStatus.mm:81)
多个机型,多个版本系统会出现程序崩溃闪退

2023-12-13 09:19 负责人:DCloud_iOS_XHY 分享
已邀请:
DCloud_iOS_XHY

DCloud_iOS_XHY

你好,这个接口是获取网络类型会触发,我们排查了各种情况wifi,蜂窝网络,飞行模拟,都无法复现这个问题,你们有能复现的方法吗?

  • z***@163.com (作者)

    暂无复现方法。但bugly以及App Store的crash记录都陆续有该问题上报,能否有方法移除该函数的调用。或者是有其它库缺少导致,是的话,可否告知?

    2023-12-15 14:27

  • z***@163.com (作者)

    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处理,或者是给出方法,让开发者选择调用,不要强制调用

    2023-12-15 14:52

  • DCloud_iOS_XHY

    回复 z***@163.com: 应用启动Uni框架内部会调用这个方法,这个方法实现非常简单,就是返回个网络状态,最好还是想办法复现一下,我们也在排查一下这个调用链相关的其他方法

    2023-12-18 16:38

要回复问题请先登录注册