Отчет о сбое в App Store EXC_BREAKPOINT (SIGTRAP)

Ниже приведен отчет о сбое, загруженный из iTunes Connect. Ребята из Apple говорят: "Нам не удалось проверить ваше приложение, так как оно вышло из строя при запуске".

я знаю, что «EXC_BREAKPOINT (SIGTRAP)» означает a non-optional type with a nil value или a failed forced type conversion, я проверил строки 0, 1, 2 и 41, касающиеся свойства моего приложения, установленного нового, и попробуйте обновить старую версию, все на реальном устройстве, все работает нормально, нет происходит сбой. Я понятия не имею, где происходит сбой?

это очень полезно, вы можете дать мне несколько советов. большое тебе спасибо!!!

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000101066d5c
Termination Signal: Trace/BPT trap: 5
Termination Reason: Namespace SIGNAL, Code 0x5
Terminating Process: exc handler [0]
Triggered by Thread:  0

Filtered syslog:
None found

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   Cloud                           0x0000000101066d5c specialized static ContentViewController.iphone.getter + 388444 (ContentViewController.swift:20)
1   Cloud                           0x0000000101049584 specialized PageViewController.init(coder:) + 267652 (PageViewController.swift:16)
2   Cloud                           0x000000010104657c @objc PageViewController.init(coder:) + 255356 (PageViewController.swift:0)
3   UIKit                           0x000000018acee8bc -[UIClassSwapper initWithCoder:] + 248
4   UIKit                           0x000000018ae97588 UINibDecoderDecodeObjectForValue + 688
5   UIKit                           0x000000018ae972c0 -[UINibDecoder decodeObjectForKey:] + 104
6   UIKit                           0x000000018acee560 -[UIRuntimeConnection initWithCoder:] + 188
7   UIKit                           0x000000018ae97588 UINibDecoderDecodeObjectForValue + 688
8   UIKit                           0x000000018ae97700 UINibDecoderDecodeObjectForValue + 1064
9   UIKit                           0x000000018ae972c0 -[UINibDecoder decodeObjectForKey:] + 104
10  UIKit                           0x000000018aced8a0 -[UINib instantiateWithOwner:options:] + 1168
11  UIKit                           0x000000018b06a7f0 -[UIStoryboard instantiateViewControllerWithIdentifier:] + 196
12  UIKit                           0x000000018a9d08dc -[UIApplication _loadMainStoryboardFileNamed:bundle:] + 124
13  UIKit                           0x000000018a7d6cdc -[UIApplication _loadMainInterfaceFile] + 264
14  UIKit                           0x000000018a9cf5c0 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1420
15  UIKit                           0x000000018ac5d454 __111-[__UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene:transition:firstActivation:completion:]_block_invoke + 800
16  UIKit                           0x000000018af2d1f0 +[_UICanvas _enqueuePostSettingUpdateTransactionBlock:] + 160
17  UIKit                           0x000000018ac5d0b8 -[__UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene:transition:firstActivation:completion:] + 252
18  UIKit                           0x000000018ac5d928 -[__UICanvasLifecycleMonitor_Compatability activateEventsOnly:withContext:completion:] + 748
19  UIKit                           0x000000018b3c66e8 __82-[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:]_block_invoke + 260
20  UIKit                           0x000000018b3c658c -[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:] + 448
21  UIKit                           0x000000018b1429c0 __125-[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:]_block_invoke + 220
22  UIKit                           0x000000018b2d7fc8 _performActionsWithDelayForTransitionContext + 112
23  UIKit                           0x000000018b142870 -[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:] + 252
24  UIKit                           0x000000018af2c850 -[_UICanvas scene:didUpdateWithDiff:transitionContext:completion:] + 364
25  UIKit                           0x000000018a9cde28 -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 540
26  UIKit                           0x000000018add16ec -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 364
27  FrontBoardServices              0x00000001839f9768 -[FBSSceneImpl _didCreateWithTransitionContext:completion:] + 364
28  FrontBoardServices              0x0000000183a02070 __56-[FBSWorkspace client:handleCreateScene:withCompletion:]_block_invoke_2 + 224
29  libdispatch.dylib               0x0000000180cdd048 _dispatch_client_callout + 16
30  libdispatch.dylib               0x0000000180ce46c8 _dispatch_block_invoke_direct$VARIANT$mp + 288
31  FrontBoardServices              0x0000000183a2da04 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36
32  FrontBoardServices              0x0000000183a2d6a8 -[FBSSerialQueue _performNext] + 404
33  FrontBoardServices              0x0000000183a2dc44 -[FBSSerialQueue _performNextFromRunLoopSource] + 56
34  CoreFoundation                  0x0000000181300358 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
35  CoreFoundation                  0x00000001813002d8 __CFRunLoopDoSource0 + 88
36  CoreFoundation                  0x00000001812ffb60 __CFRunLoopDoSources0 + 204
37  CoreFoundation                  0x00000001812fd738 __CFRunLoopRun + 1048
38  CoreFoundation                  0x000000018121e2d8 CFRunLoopRunSpecific + 436
39  GraphicsServices                0x00000001830aff84 GSEventRunModal + 100
40  UIKit                           0x000000018a7cb880 UIApplicationMain + 208
41  Cloud                           0x0000000101010e04 main + 36356 (SearchTableViewController.swift:13)
42  libdyld.dylib                   0x0000000180d4256c start + 4

ниже приведен код для static ContentViewController.iphone.getter:

определено в common.swift:

enum iPhone: CGFloat {
case iPhoneSE = 568
case iPhone = 667
case iPhonePlus = 736
case iPhoneX = 812

init!(_ rawValue: CGFloat) {
    self.init(rawValue: rawValue)
}

}

определено в ContentViewController.swift:

    static var iphone: iPhone {
    let sceneHeight: CGFloat = UIScreen.main.bounds.height

    if iPhone(sceneHeight) == .iPhoneSE {
        return .iPhoneSE
    } else if iPhone(sceneHeight) == .iPhone {
        return .iPhone
    } else if iPhone(sceneHeight) == .iPhonePlus {
        return .iPhonePlus
    } else {
       return .iPhoneX
    }
}

person stephen    schedule 31.10.2017    source источник
comment
Покажите код, где происходит сбой   -  person kirander    schedule 31.10.2017
comment
в том-то и дело, что я действительно понятия не имею, где произошел сбой. выше приведено усечение для потока 0, где в отчете о сбое говорится о сбое, но я не знаю, какая строка кода потерпела сбой, потому что сбой не происходит на моем устройстве.   -  person stephen    schedule 01.11.2017
comment
Вы можете объяснить, что происходит в ContentViewController.iphone.getter?   -  person kirander    schedule 01.11.2017
comment
Пожалуйста, посмотрите обновленный вопрос, я добавил код для ContentViewController.iphone.getter.   -  person stephen    schedule 01.11.2017
comment
Вы говорите, что трассировка стека неверна ?? или же?? В нем говорится: SearchTableViewController ИЛИ какой-то контроллер раскадровки является вашим основным контроллером.. затем PageViewController был загружен и был активен, когда произошел сбой (загружен через перо). PageController строка 16 вызывает ContentViewController, который падает в строке 20. Этот сбой, по-видимому, произошел в методе CloudKit.   -  person Brandon    schedule 01.11.2017


Ответы (1)


init!(_ rawValue: CGFloat) { self.init(rawValue: rawValue) }

Вы используете здесь принудительную развернутую инициализацию, но у вас есть случаи, когда enum может вернуть nil, если ни один случай не соответствует переданному значению. Это может быть iPad (768) или iPhone 4s (480). Итак, вы разворачиваете nil, и система выдает исключение.

person kirander    schedule 01.11.2017