Crashlytics是否在崩溃时遇到assertFailure?

问题描述 投票:0回答:1

我有点困惑,无法找到有关此案例的正确信息。众所周知,从文档:

使用此功能可以停止程序,而不会影响预期的控制流程无法实现的运输代码性能接听电话-例如,在默认情况下,您在知道必须满足其他情况之一。至保护代码以防止版本内部版本的无效使用,请参阅preconditionFailure(_:file:line:)。

但是,当我的Crashlytics触发时,我在asserionFailure中收到崩溃报告。

Crashed: com.apple.main-thread
0  libswiftCore.dylib             0x1b0c15efc specialized _assertionFailure(_:_:file:line:flags:) + 440
1  libswiftCore.dylib             0x1b0a316b8 assertionFailure(_:file:line:) + 96
2  OneFit                         0x100a3d238 AdditionalUserInfoRouter.enqueueRoute(with:animated:completion:) + 64 (AdditionalUserInfoRouter.swift:64)
3  OneFit                         0x100a53040 protocol witness for MVVMRouter.enqueueRoute(with:animated:completion:) in conformance AdditionalUserInfoRouter + 4374458432 (<compiler-generated>:4374458432)
4  OneFit                         0x100638224 MVVMRouter.enqueueRoute(with:) + 32 (MVVMRouter.swift:32)
5  OneFit                         0x100a6a6c8 closure #2 in AdditionalUserInfoViewModel.close() + 132 (AdditionalUserInfoViewModel.swift:132)
6  OneFit                         0x100a676a0 thunk for @escaping @callee_guaranteed (@guaranteed [Subscription]) -> (@error @owned Error) + 4374541984 (<compiler-generated>:4374541984)
7  OneFit                         0x100a6fb94 partial apply for thunk for @escaping @callee_guaranteed (@guaranteed [Subscription]) -> (@error @owned Error) + 4374576020 (<compiler-generated>:4374576020)
8  PromiseKit                     0x10344d048 $s10PromiseKit8ThenablePAAE4done2on5flags_AA0A0CyytGSo17OS_dispatch_queueCSg_8Dispatch0J13WorkItemFlagsVSgy1TQzKctFyAA6ResultOyARGcfU_yycfU_ + 64
9  PromiseKit                     0x103426614 $sIeg_IeyB_TR + 28
10 libdispatch.dylib              0x1a35a9610 _dispatch_call_block_and_release + 24
11 libdispatch.dylib              0x1a35aa184 _dispatch_client_callout + 16
12 libdispatch.dylib              0x1a355c1d0 _dispatch_main_queue_callback_4CF$VARIANT$mp + 1044
13 CoreFoundation                 0x1a385a3c4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
14 CoreFoundation                 0x1a38553b8 __CFRunLoopRun + 2004
15 CoreFoundation                 0x1a38548bc CFRunLoopRunSpecific + 464
16 GraphicsServices               0x1ad6c0328 GSEventRunModal + 104
17 UIKitCore                      0x1a78ea6d4 UIApplicationMain + 1936
18 OneFit                         0x1003b3784 main + 39 (AppDelegate.swift:39)
19 libdyld.dylib                  0x1a36df460 start + 4

Crashlytics日志是否断言为崩溃,或者我有真正的崩溃?

android ios firebase assert crashlytics
1个回答
0
投票

不应在具有release优化级别的-O构建中启用断言。仔细检查您的目标,如果您是从头创建的或是从调试复制的,则可能已启用断言。

来自docs

在操场上和-Onone构建(Xcode的Debug的默认设置配置),然后在可调试状态下停止程序执行打印消息。

在-O版本中,无效。

在-Ounchecked构建中,优化器可能会假定此函数为从来没有打电话。无法满足该假设是严重的编程错误。

© www.soinside.com 2019 - 2024. All rights reserved.