2017-05-17 7 views
0

많은 사용자가 있지만이 문제가 몇 개 있습니다. 시작 직후 앱이 충돌합니다. 비트 코드와 ATS가 모두 비활성화됩니다. 이 문제의 원인은 무엇입니까? 주셔서 감사합니다SecKeyGetBlockSize가있는 IBM MobileFirst Platform을 사용하면 바로 앱이 실패합니다.

https://drive.google.com/open?id=0B1GqBSG2XUgZYmhJVGFRakFtWUU 우리가

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

MFP 버전을 수행하는 경우가 일어나고있는 것 같습니다

여기

전체 로그입니다

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 
= 7.1-2016/7월 11일

+1

사용중인 응용 프로그램과 현재 수행중인 작업을 설명해 주시겠습니까? 앱이 처음에는 실패한 다음 오류 처리가 중단 된 것 같습니다. 스택 추적 코드는 MFP 버전 7.1 또는 그 이하를 보여 주지만 정확한 버전의 MFP가 도움이 될 것입니다. 응용 프로그램 실행의 와이어 추적에서도 디버그를 더 돕습니다. –

+0

MFP 버전은 7.1-2016/07/11입니다. 이메일을 보내시겠습니까? 트레이스를 부착 할 공간이 충분하지 않습니다. 감사합니다. – Alexander

+0

파일 공유 서비스에 업로드하고 링크를 공유하십시오. – Srik

답변

0

EXC_BAD_ACCESS null 포인터 참조로 인해 발생합니다. wlConnectWithDelegate가 두 번 이상 호출 될 때 이것을 보았습니다.

나는이 같은 스위프트의 dispatch_once_t 싱글을 사용하려고합니다 :

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

예외는 MobileFirst SDK에서 키 체인 액세스 에러 것 같습니다. MobileFirst는 7.1에서 배경 모드를 지원하지 않습니다. 앱이 백그라운드에서 MobileFirst 연결 API를 실행하지 않도록하십시오. 또한 타겟 -> 기능에서 "키 체인 공유"가 활성화되어 있는지 확인하십시오.

+0

1. Xcode 7에서 "키 체인 공유"가 필수입니까? 우리는 여전히 Xcode 7을 사용하고 있습니다. 설명서에는 Xcode 8 (https://mobilefirstplatform.ibmcloud.com/blog/2016/09/16/mfp-support-for-ios10/) 및 실제 장치에서 발생하는 모든 충돌에 대한 필수 사항이 나와 있습니다. 2. 시작 직후에 충돌이 발생하며 약 4 초가 지나고 Apps에 "Foreground"로그가 기록됩니다. – Alexander

+0

로그에 iOS 버전이 "iPhone OS 10.3.1"로 표시됩니다. 기기에서 실행 중일 때 키 체인 공유는 중요하지 않습니다. 백그라운드에서나 휴대 전화 화면에서 앱을 사용하기 위해 유사한 오류가 발생했습니다. 이를 위해 몇 가지 수정 사항을 제공했습니다. 이 시점에서 나는 다음을 제안 할 수 있습니다. 1. MFP 7.1의 최신 ifix를 사용해보십시오. 금년의 수정을 시작한 키 체인을했습니다. 2. # 1로 문제가 해결되지 않으면 IBM 지원을 통해 PMR을 열고 디버그 빌드로 시도 할 수 있는지 알려주십시오. 그래서 우리가 당신을 더 도울 수 있습니다. – SSuman99

0

문제는 MobileFirst 7.1 용으로 수정되어 게시되었습니다.