Ios 使用带有SecKeyGetBlockSize的IBM MobileFirst平台启动应用程序后立即失败

Ios 使用带有SecKeyGetBlockSize的IBM MobileFirst平台启动应用程序后立即失败,ios,xcode,ibm-mobilefirst,Ios,Xcode,Ibm Mobilefirst,我们有很多用户,但只有几个用户有这个问题。应用程序启动后立即崩溃。位码和ATS均被禁用。是什么导致了这个问题?多谢各位 Hardware Model: iPhone9,3 Code Type: ARM-64 (Native) Role: Foreground Parent Process: launchd [1] Date/Time: 2017-05-16 18:05:01.2852 -

我们有很多用户,但只有几个用户有这个问题。应用程序启动后立即崩溃。位码和ATS均被禁用。是什么导致了这个问题?多谢各位

Hardware Model:      iPhone9,3          
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Date/Time:           2017-05-16 18:05:01.2852 -0400
Launch Time:         2017-05-16 18:04:57.4399 -0400
OS Version:          iPhone OS 10.3.1 (14E304)
Report Version:      104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000010
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]
Triggered by Thread:  0

Thread 0 name:
Thread 0 Crashed:
SecKeyGetBlockSize + 0 (SecKey.c:696)
WLCertManager signData:privateKey:] + 276 (WLCertManager.m:525)
[WLDeviceAuthManager signDeviceAuth:entity:isPEnabled:] + 1168 (WLDeviceAuthManager.m:173)
[BaseProvisioningChallengeHandler onDeviceAuthDataReady:] + 172 (BaseProvisioningChallengeHandler.m:162)
[BaseDeviceAuthChallengeHandler getDeviceAuthDataAsync:] + 1308 (BaseDeviceAuthChallengeHandler.m:58)
[BaseProvisioningChallengeHandler handleChallenge:] + 1040 (BaseProvisioningChallengeHandler.m:138)
[WLRequest startHandleChallenges:httpRequest:]_block_invoke + 484 (WLRequest.m:606)
[__NSDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:]_block_invoke + 136 (NSDictionary.m:680)
[__NSDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:] + 180 (NSDictionary.m:692)
[WLRequest startHandleChallenges:httpRequest:] + 256 (WLRequest.m:598)
[WLRequest requestFailed:error:] + 604 (WLRequest.m:505)
[WLAFHTTPRequestOperationManagerWrapper requestFailed:error:] + 2020 (WLAFHTTPRequestOperationManagerWrapper.m:396)
[WLAFHTTPRequestOperationManagerWrapper start]_block_invoke229 + 112 (WLAFHTTPRequestOperationManagerWrapper.m:340)
[WLAFHTTPRequestOperation setCompletionBlockWithSuccess:failure:]_block_invoke42 + 112 (WLAFHTTPRequestOperation.m:141)
dispatch_call_block_and_release + 24 (init.c:963)
_dispatch_main_queue_callback_4CF + 444 (inline_internal.h:2417)
 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 (CFRunLoop.c:1793)
 __CFRunLoopRun + 1572 (CFRunLoop.c:3004)
CFRunLoopRunSpecific + 424 (CFRunLoop.c:3113)
 GSEventRunModal + 100 (GSEvent.c:2245)
UIApplicationMain + 208 (UIApplication.m:4089)
main + 200 (main.swift:12)
libdyld.dylib       0x000000018eeb559c start + 4
这里有完整的日志

这看起来就像是我们正在做的事情

private lazy var client: WLClient = WLClient.sharedInstance()
self.client.wlConnectWithDelegate(SomeDelegate)

MFP版本is=7.1-2016/07/11

EXC_BAD_访问
由空指针引用引起。我以前在多次调用wlConnectWithDelegate时见过这种情况。

我会尝试使用Swift的
dispatch\u once\t
singleton,如下所示:

var token: dispatch_once_t = 0
dispatch_once(&token) {
    //Make sure you register all challenge handlers then connect
    WLClient.sharedInstance().wlConnectWithDelegate(SomeDelegate)
}

此异常看起来像MobileFirst SDK中的密钥链访问错误。MobileFirst不支持7.1中的后台模式。请确保您的应用程序未尝试从后台运行MobileFirst connect API。同时确保在“目标->功能”中启用了“钥匙链共享”。

此问题已修复,并已针对MobileFirst 7.1发布。您能解释一下您正在使用的应用程序以及它在做什么吗?应用程序似乎一开始失败,然后在错误处理中崩溃。代码堆栈跟踪显示MFP版本7.1或更低,但了解MFP的确切版本将有所帮助。即使是应用程序执行的有线跟踪也将有助于进一步调试。MFP版本is=7.1-2016/07/11。我可以给你发电子邮件吗?这里没有足够的空间来附加跟踪。谢谢,请上传到文件共享服务并共享linkI添加的更多相关数据。谢谢。Xcode 7是否强制要求“密钥链共享”?我们仍然在使用Xcode 7。文档中说,Xcode 8()和所有在实际设备中发生的崩溃都是强制性的。2.启动后4秒左右发生崩溃,日志显示“前台”中的应用程序。您的日志显示iOS版本为“iPhone OS 10.3.1”。当你们在设备上运行时,钥匙链共享并不重要。类似的错误通常出现在后台应用程序或锁定的手机屏幕上。为此,我们提供了一些修复。在这一点上,我可以建议你如下。1.尝试使用MFP7.1的最新ifix。今年年初,我们做了一些钥匙链处理修复。2.如果#1无法解决您的问题,请使用IBM支持打开PMR,并告知我们您是否可以尝试调试构建。这样我们才能进一步帮助你。