내 응용 프로그램은 AFNetworking 2.x를 사용하여 당사 서버 중 하나의 데이터베이스에서 데이터를 가져옵니다. 지난 주 정도까지 모든 것이 잘되었습니다. 이제 우리는 최소한 하나의 연결을 통해 일할 수 없습니다. 여기에 코드가 있습니다.더 이상 AFNetworking/NSURLConnection에서 iOS10으로 인증 할 수 없습니까?
NSString *loginURL =
@"https://<server>/<path>/<url>";
AFHTTPRequestOperationManager *manager =
[AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager.requestSerializer
setAuthorizationHeaderFieldWithUsername:pUserEmail
password:pUserPassword];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
AFHTTPRequestOperation *operation = [manager GET:loginURL
parameters:[self jsonDict]
success:^(AFHTTPRequestOperation *operation, id responseObject) {
if (completionBlock) {
completionBlock(YES);
}
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if (completionBlock) {
completionBlock(NO);
}
}];
[operation start];
}
정말 이상한 점은 브라우저의 URL로 이동하여 사용자 이름/암호로 입력하면 액세스가 가능하다는 것입니다.
사용자 인 경우 Xcode 7.3.1을 실행하고 시뮬레이터에서 실행하면 액세스 할 수 있습니다.
내 iPhone에서 실행하면 실패하고 다음과 같은 3 가지 오류 메시지가 표시됩니다.
Sep 20 10:54:54 iPhone Scoular(CFNetwork)[1999] <Notice>: N -9801
(kCFStreamErrorDomainSSL, -9801)
Sep 20 10:54:54 iPhone Scoular(CFNetwork)[1999] <Error>: HTTP load failed (error code: -1200 [3:-9801])
Sep 20 10:54:54 iPhone Scoular(CFNetwork)[1999] <Error>: NSURLConnection finished with error - code -1200
내 생각 엔 뭔가 (iOS8의 또는 iOS9에있는 NSURLConnection가) iOS10와 함께, 그것은 더 이상 허용, 사용되지되지 않았 음을, 그리고 내가 3.X를 AFNetworking로 업데이트 할 경우이 문제가 해결됩니다,하지만 난 아니다 완전히 확신합니다.
iOS9 사용자가 인증 할 수 있습니다.
나는 서버에 변경된 사항이 있다고 생각하지 않습니다.
은 사실 필요합니다. 그것은 당신의 프로젝트에 명시되어 있습니까? –
아니요, 내 plist에 들어 있나요? –
하지만 시뮬레이터에서 왜 작동합니까? –