2017-04-24 5 views
0

Ich bin mit IBM Mobile First V 7.1 auf einem iOS-App wird das Problem nach meiner App in den Laden gestellt wird, beginnt Fabric mir seltsam Ausnahme zu senden:Keychain IBM Mobile First V 7.1

Fatal Ausnahme: Schlüsselpaar kann nicht generiert werden. Keychain brachte die folgenden Status: -25308

und jedes Mal, wenn ich Crashlytics prüfe ich eine andere Spur Stapel Ausnahme zu sehen, und die unten ist eine Ausnahme, die ich habe:

Fatal Exception: Unable to generate key pair. 
0 CoreFoundation     0x18db1d1b8 __exceptionPreprocess 
1 libobjc.A.dylib    0x18c55455c objc_exception_throw 
2 CoreFoundation     0x18db1d100 -[NSException initWithCoder:] 
3 RTA       0x1012ba4a0 +[WLCertManager generateKeyPair:withPublicKeyLabel:withKeySize:] 
4 RTA       0x1012be730 +[WLCertManager signJWSPartsWithPayload:withPrivateKeyLabel:withPublicKeyLabel:withKeySize:] 
5 RTA       0x10129ffcc -[WLAuthorizationManager buildJWSPartsWithClientId:] 
6 RTA       0x10128607c __71-[WLRequest addClientInstanceIdHeaderWithRequest:withCompetionHandler:]_block_invoke 
7 RTA       0x10129b4ec -[WLAuthorizationManager clientInstanceIdWithCompletionHandler:] 
8 RTA       0x101285f2c -[WLRequest addClientInstanceIdHeaderWithRequest:withCompetionHandler:] 
9 RTA       0x101284f40 -[WLRequest sendRequest:path:withOptions:] 
10 RTA       0x10128685c -[WLRequest makeRequest:withOptions:withCallback:] 
11 RTA       0x1012862f4 -[WLRequest makeRequest:withOptions:] 
12 RTA       0x1012c36e8 -[WLClient invokeProcedure:withDelegate:options:] 
13 RTA       0x1002e8d60 specialized FavouritesModel.getFavouritesList(FavouritesRequestDelegate?) ->() (FavouritesModel.swift) 
14 RTA       0x1002e8484 FavouritesModel.getFavouritesList(FavouritesRequestDelegate?) ->() (FavouritesModel.swift:21) 
15 RTA       0x10037508c MainDashboardViewController.pullToRefreshAction() ->() (MainDashboardViewController.swift:1793) 
16 RTA       0x100389dc8 partial apply for MainDashboardViewController.(upperViewAnimation() ->()).(closure #2).(closure #4) (MainDashboardViewController.swift:614) 
17 Foundation      0x18e61a46c __NSFireDelayedPerform 
18 CoreFoundation     0x18dacb1d8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ 
19 CoreFoundation     0x18dacaeec __CFRunLoopDoTimer 
20 CoreFoundation     0x18daca7a8 __CFRunLoopDoTimers 
21 CoreFoundation     0x18dac83a4 __CFRunLoopRun 
22 CoreFoundation     0x18d9f62b8 CFRunLoopRunSpecific 
23 GraphicsServices    0x18f4aa198 GSEventRunModal 
24 UIKit       0x193a3d7fc -[UIApplication _run] 
25 UIKit       0x193a38534 UIApplicationMain 
26 RTA       0x100913fe0 main (AppDelegate.swift:35) 
27 libdispatch.dylib    0x18c9d95b8 (Missing) 

nach einigen Untersuchungen und Suchen fand ich eine Empfehlung Keychain-Sharing und die folgenden Screenshot ist meine App Berechtigung zu aktivieren:

Entitlement

Bitte beraten Sie, wie ich dieses Problem lösen kann oder ob eine fehlende Konfiguration angewendet werden sollte

+0

Ist dieses Problem auf iOS 10? Und nachdem Keychain Sharing aktiviert wurde, funktioniert es? –

+0

Ja, die meisten Abstürze hängen von Fabric ab, sind auf iOS 10, aber nachdem wir das Teilen von Schlüsselbunden aktiviert haben, haben wir immer noch das Problem. –

Antwort

1

Schwerwiegende Ausnahme: Schlüsselpaar kann nicht generiert werden. Keychain brachte die folgenden Status: -25308

Der obige Fehler tritt auf, wenn app versucht Schlüsselpaar zu erzeugen, während das Telefon gesperrt ist oder während App während der Hintergrundmodus ausgeführt wird. Es scheint, dass Ihre App MFP-Anfragen bearbeitet, während die App im Hintergrund läuft oder das Telefon gesperrt ist.

Momentan unterstützen MobileFirst iOS 7.x Client-SDKs keine MFP-Anforderungen, die im Hintergrund ausgeführt werden. Sie können Nicht-MFP-APIs verwenden, wenn Sie auf ungesicherte Ressourcen zugreifen.

+0

Vielen Dank für Ihre Antwort, aber ich möchte fragen, ob es eine Möglichkeit gibt, MFP-Anfrage abzubrechen, wenn die App in den Hintergrund geht –

+0

@ammararangy Basierend auf dem Fehler initiiert Ihre App MFP-Anfragen im Hintergrundmodus selbst. Setzen Sie eine Bedingung, um zu überprüfen, ob sich die App im Vordergrundmodus befindet, bevor Sie eine MFP-Anforderung ausführen. –

+0

Aha diese Situation kann behandelt werden, aber dieses Problem könnte passieren, wenn die App MFP-Anfrage im Vordergrund anfordern und dann die App Hintergrund setzen –

Verwandte Themen