Meine Apps könnten in iOS 11, iPhone 6 Plus verlangsamen. (Andere iOS laufen wie erwartet.)SecTrustEvaluate() verlangsamen in iOS 11
Ich weiß SecTrustEvaluate() -Methode ist ein Grund, dass die App verlangsamen. Ich laufe es in Haupt-Thread dauert etwa 3 Sekunden. Also verwende ich gcd, um es in den Hintergrundthread zu verschieben.
- (void)URLSession:(NSURLSession *)session didReceiveChallenge(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential * _Nullable credential))completionHandler {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
BOOL allowConnect = //Server Trust Evaluation in here
dispatch_async(dispatch_get_main_queue(), ^{
if (allowConnect) {
//completionHandler;
} else {
//cancel
}
});
});
}
}
Dann blockiert es nicht UI, aber 20 Sekunden für Server Trust-Validierung.
Kann jemand dieses Problem wissen? Bitte hilf mir. Vielen Dank.