uni-app 【严重】PGDeviceStatus getCurrentType: 底层框架代码闪退

发布于 1周前 作者 sinazl 来自 Uni-App

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)
多个机型,多个版本系统会出现程序崩溃闪退

5 回复

你好,这个接口是获取网络类型会触发,我们排查了各种情况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框架内部会调用这个方法,这个方法实现非常简单,就是返回个网络状态,最好还是想办法复现一下,我们也在排查一下这个调用链相关的其他方法

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!