Я пытаюсь в течение некоторого времени развертывать приложение, но оно продолжает отклоняться, поскольку оно не работает на сети Apple IPv6, хотя я используя NSURLSession для отправки POST. Я сделал больше попыток, чем могу подсчитать и исчерпал варианты, кто-нибудь знает, если это проблема, связанная с их тестовой средой, или это мой код? Здесь код:Поддержка IPv6 в приложении iOS (продолжайте отклоняться, хотя он работает в тестах)
- (NSData *) postToServer: (NSData *) msg {
__block NSData *urlData = NULL;
self.status = @"offline";
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration];
NSURL *url = [NSURL URLWithString:@"http://myserver.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:msg];
NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
self.status = @"offline";
dispatch_semaphore_signal(semaphore);
return;
}
if ([response isKindOfClass:[NSHTTPURLResponse class]]) {
NSInteger statusCode = [(NSHTTPURLResponse *)response statusCode];
if (statusCode >= 200 && statusCode < 300) {
self.status = @"online";
urlData = data;
}
else {
self.status = @"offline";
}
NSLog(@"Código resposta: %ld/Resposta ==> %@", (long)statusCode, [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding]);
}
dispatch_semaphore_signal(semaphore);
}];
[postDataTask resume];
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
return urlData;
}
Пожалуйста, если я сделал что-то неправильно на этом помочь мне исправить это оттягивает мой график работы так много, и я не мог понять, даже читая темы, все от Apple Форума о IPv6. (Этот код работает на моем рабочем месте для iPhone SE iOS 9.3.2, только сбой в обзоре).
Спасибо за помощь.
Натана
вы тестирование на IPv6-только сети? –
Какова EXACT причина Apple, дал вам за отказ приложения? –
«Мы обнаружили один или несколько ошибок в вашем приложении при просмотре на iPad и iPhone под управлением iOS 9.3.2 на Wi-Fi. В частности, мы не смогли получить доступ к содержимому вашего приложения из-за предупреждения, отображаемого при входе в систему ». –