生成钥匙串IBM Mobile First V 7.1

时间:2017-04-24 07:04:18

标签: ios swift ibm-mobilefirst mobilefirst-adapters

我在iOS应用程序上使用IBM Mobile First V 7.1,问题是我的应用程序提交到商店后,Fabric开始向我发送奇怪的异常:

  

致命异常:无法生成密钥对。钥匙扣归还了   以下状态:-25308

每次我查看Crashlytics时都会看到异常的跟踪堆栈,下面是我得到的异常之一:

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)

经过一些调查和搜索,我发现了一些启用Keychain Sharing的建议,下面的截图是我的应用权利:

Entitlement

请告知我如何解决此问题,或者是否应该应用任何丢失的配置

1 个答案:

答案 0 :(得分:1)

  

致命异常:无法生成密钥对。钥匙扣归还了   以下状态:-25308

当手机在手机锁定或应用程序在后台模式下运行时尝试生成密钥对时,会出现上述错误。当应用程序是后台或手机被锁定时,您的应用似乎正在执行MFP请求。

目前,Mobilefirst iOS 7.x客户端SDK不支持在后台运行的MFP请求。如果要访问不安全的资源,则可以使用非MFP API。