美文网首页
友盟报错“Application received signal

友盟报错“Application received signal

作者: 锦箫_1 | 来源:发表于2018-11-30 14:12 被阅读59次

先来看看友盟线上错误是否和我所犯一样,而且瞬间铺天盖地的报错反馈,每个都有所不同,也就是不规则报错。

Application received signal SIGSEGV
2
(null)
3
((
4
    0 CoreFoundation 0x0000000182fa1918 <redacted> + 148
5
    1 libobjc.A.dylib 0x000000018260ff80 objc_exception_throw + 56
6
    2 CoreFoundation 0x0000000182fa1848 <redacted> + 0
7
    3 YZGX 0x000000010027df7c YZGX + 1957756
8
    4 libsystem_platform.dylib 0x0000000182c0593c _sigtramp + 52
9
    5 CoreFoundation 0x0000000182f2eaac <redacted> + 124
10
    6 CoreFoundation 0x0000000183007f9c <redacted> + 680
11
    7 CoreFoundation 0x0000000182fabd68 <redacted> + 1408
12
    8 CoreFoundation 0x0000000182e870f4 _CFXNotificationPost + 368
13
    9 Foundation 0x0000000183876d2c <redacted> + 68
14
    10 UIKit 0x0000000187f40ef8 <redacted> + 320
15
    11 UIKit 0x000000018800d7e0 <redacted> + 128
16
    12 UIKit 0x0000000187f40d64 <redacted> + 100
17
    13 UIKit 0x0000000187f412e0 <redacted> + 700
18
    14 UIKit 0x0000000187f394ec <redacted> + 152
19
    15 FrontBoardServices 0x0000000184557790 <redacted> + 184
20
    16 FrontBoardServices 0x0000000184557b10 <redacted> + 56
21
    17 CoreFoundation 0x0000000182f58efc <redacted> + 24
22
    18 CoreFoundation 0x0000000182f58990 <redacted> + 540
23
    19 CoreFoundation 0x0000000182f56690 <redacted> + 724
24
    20 CoreFoundation 0x0000000182e85680 CFRunLoopRunSpecific + 384
25
    21 GraphicsServices 0x0000000184394088 GSEventRunModal + 180
26
    22 UIKit 0x0000000187cfcd90 UIApplicationMain + 204
27
    23 YZGX 0x00000001001991c8 YZGX + 1020360
28
    24 libdyld.dylib 0x0000000182a268b8 <redacted> + 4
29
)
30

这是我上次打包上线后出现的报错。每次报错的内存地址不同,我一直以为是我代码问题,在根据网上查询的反编译内容看过之后,忽然发现,它是不规则报错,瞬间心情不好。

冷静下来发现:
1.报错内容一致,SIGSEGV一般为内存溢出,内存泄露。
2.报错版本为iOS9.0-iOS9.2.1之间的系统;
3.Xcode10打包;
4.使用xcassets管理图片;
5.xcassets中有非jpg的图片;

注:该问题,打蒲公英的测试包无法复现,直接在手机上运行无法复现,模拟器上无法复现。
之后我去苹果官网查看,IOS9.0-9.2.1之间Xcode10发布后苹果对图片加密又进行了更改,多了一套加密方法。导致了这几个小系统的兼容性。

如果发生类似问题,提供以下方案:
方案一:如果没有使用iOS12 的新功能,建议暂时用Xcode9打包,等待Xcode10.1版本修复该问题;

方案二:把xcassets图片放到bundle里;

方案三:最低版本支持设置为iOS9.3及以上;

方案四:把xcassets图片全部替换成jpg,必须全部替换,不然已然存在crash风险;

方案五:把Xcode9打包生成的Assets.car替换Xcode10打包生成的Assets.car。

相关文章

网友评论

      本文标题:友盟报错“Application received signal

      本文链接:https://www.haomeiwen.com/subject/ulhhcqtx.html