ios - pide - Bloquear en libswiftCore imposible de reproducir
mi iphone me pide un codigo de 6 digitos (1)
Tengo un problema, algunos pequeños (pocos%) de nuestros usuarios se bloquean en nuestra aplicación con el siguiente rastro:
Crashed: com.apple.main-thread
0 libswiftCore.dylib 0x100ae3740 _TTSfq4n_s_n_n_n___TFs17_assertionFailureFTVs12StaticStringSS4fileS_4lineSu5flagsVs6UInt32_Os5Never + 164
1 OMGRedesign 0x100171f88 specialized DataManager.userLoggingState() -> DataManager.LoggingUserState (DataManager.swift)
2 OMGRedesign 0x10011e59c specialized APIManager.(login(String, password : String, success : () -> ()?, failure : (Error?) -> ()?) -> ()).(closure #1) (APIManager.swift)
3 OMGRedesign 0x10012b0d0 partial apply for APIManager.(loginUsingStoredTokens(String, success : () -> ()?, failure : (Error?) -> ()?) -> ()).(closure #1) + 4295897296
4 p2_OAuth2 0x1008ea38c _TMaC9p2_OAuth210OAuth2Base + 720
5 p2_OAuth2 0x1008ea1e0 _TMaC9p2_OAuth210OAuth2Base + 292
6 libdispatch.dylib 0x18ebb29a0 _dispatch_client_callout + 16
7 libdispatch.dylib 0x18ebc37a8 _dispatch_barrier_sync_f_slow_invoke + 304
8 libdispatch.dylib 0x18ebb29a0 _dispatch_client_callout + 16
9 libdispatch.dylib 0x18ebb75e8 _dispatch_main_queue_callback_4CF + 996
10 CoreFoundation 0x18fca90c0 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
11 CoreFoundation 0x18fca6cdc __CFRunLoopRun + 1572
12 CoreFoundation 0x18fbd6d94 CFRunLoopRunSpecific + 424
13 GraphicsServices 0x191640074 GSEventRunModal + 100
14 UIKit 0x195e8f130 UIApplicationMain + 208
15 OMGRedesign 0x1000d3ab8 main (Item.swift:129)
16 libdyld.dylib 0x18ebe559c start + 4
El siguiente código es esto
func userLoggingState() -> LoggingUserState {
let userDefault = UserDefaults.standard as UserDefaults
let isRegularUserLogged = userDefault.bool(forKey:"regular-user-logged")
let regularUserName = userDefault.string(forKey: "regular-user-username")
let dummyDefaultUser = userDefault.string(forKey: "default-dummy-user")
if isRegularUserLogged == false &&
(regularUserName == nil || regularUserName?.isEmpty == true) &&
(dummyDefaultUser == nil || dummyDefaultUser?.isEmpty == true) {
return .None
}
else if isRegularUserLogged == true &&
(regularUserName != nil && regularUserName?.isEmpty == false) &&
(dummyDefaultUser == nil || dummyDefaultUser?.isEmpty == true) {
return .Regular
}
else if isRegularUserLogged == false &&
(regularUserName == nil || regularUserName?.isEmpty == true) &&
(dummyDefaultUser != nil && dummyDefaultUser?.isEmpty == false) {
return .Dummy
}
else {
PLogWarning("userLogging is in an invalid state, returning None")
return .None
}
}
No entiendo por qué esto podría fallar y, como no puedo reproducirlo, es muy difícil descubrirlo.
Sin embargo, una cosa muy extraña en el informe de fallas es esta línea:
15 OMGRedesign 0x1000d3ab8 main (Item.swift:129)
Item.swift es una clase derivada de CoreManage NSManagedObject. ¿Por qué está mencionando allí?
Gracias
Resulta que este error en nuestro código fue provocado por un comando "fatalError".