2017-01-13 1 views
1

Ive получил этот код, чтобы потреблять это работает в iOS8 и iOS10, но не в iOS9Потребляйте WebService в формате JSON в объективном C

BOOL blnAnswer = NO; 
    NSString *strAnswer = @""; 
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://10.16.2.42/api/IniciarSesionMobile/GetConnectTest"] 
               cachePolicy:NSURLRequestReturnCacheDataElseLoad 
              timeoutInterval:35]; 
    // Fetch the JSON response 
    NSData *urlData; 
    NSURLResponse *response; 
    NSError *error; 

    // Make synchronous request 
    urlData = [NSURLConnection sendSynchronousRequest:urlRequest 
            returningResponse:&response 
               error:&error]; 

    // Construct a String around the Data from the response 
    strAnswer = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding]; 
+1

NSURLConnection осуждался в прошивке 9. Это должно работать, но вы не должны использовать его для нового развития. Вместо этого используйте NSURLSession. –

+0

Можете ли вы быть менее расплывчатым? «это работает ... не» может быть что угодно. Вы прошли через него в отладчике? Вы посмотрели на переменную ошибки? Являются ли какие-либо переменные NIL, которых вы не ожидаете? – uliwitness

+0

http://stackoverflow.com/questions/15749486/sending-an-http-post-request-on-ios/41647469#41647469 Эта ссылка поможет –

ответ

1

Если вы хотите получить данные с сервера, выполните следующие действия:

NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://10.16.2.42/api/IniciarSesionMobile/GetConnectTest"]]; 

//If you have parameters,pass it to URL 

//create the Method "GET" 
[urlRequest setHTTPMethod:@"GET"]; 

NSURLSession *session = [NSURLSession sharedSession]; 
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 
    NSString *strResponse = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; 
    NSLog(@"response is: %@", strResponse); 
}]; 
[dataTask resume]; 

Get and Post

+0

Теперь у меня есть это: «Безопасность транспорта приложений заблокировала простой текст HTTP (http: //), так как это небезопасно. Временные исключения могут быть настроены через файл Info.plist вашего приложения. " –

+0

http://stackoverflow.com/questions/31254725/transport-security-has-blocked-a-cleartext-http – user3182143

 Смежные вопросы

  • Нет связанных вопросов^_^