2015-03-20 1 views
0

У меня есть следующий URL:Afnetworking запрос получить время на iPhone 5, iPhone 6 и iPhone 6+, но работает на iPhone 4

http://beta.bemembr.com/en/webservice/abc123/members/login/email/ ******/пароль/****

и этот кусок кода:

NSString *path = [NSString stringWithFormat:@"en/webservice/%@/members/login/email/%@/password/%@",apiKey,login,pass]; 
    NSLog(@"PATH IS %@",path); 
    [manager GET:path parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) 
    { 
     NSDictionary *json = (NSDictionary *)responseObject; 
     NSLog(@"JSON IS %@",json); 
     int status = [[json valueForKey:@"status"] intValue]; 
     if(status == 200){ 
      compblock(YES); 
     }else{ 
      compblock(NO); 
     } 
    }failure:^(NSURLSessionDataTask *task, NSError *error) 
    { 
     // Failure 

     NSLog(@"Failure: %@", error); 
     compblock(NO); 
    }]; 

Это работает на iPhone4, но терпит неудачу на iPhone 5, iPhone6 ​​и iPhone 6+

Это ошибка я получил:

Failure: Error Domain=NSURLErrorDomain Code=-1001 "The operation couldn’t be completed. (NSURLErrorDomain error -1001.)" UserInfo=0x7f8951c5c7b0 {NSErrorFailingURLStringKey=http://beta.bemembr.com/en/webservice/abc123/members/login/email/*****/password/*****, NSUnderlyingError=0x7f8951c82220 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1001.)", NSErrorFailingURLKey=http://beta.bemembr.com/en/webservice/abc123/members/login/email/*****/password/*****} 

Может кто-нибудь мне помочь?

Спасибо!

+0

Какая версия iOS для iPhone 4 работает, а какая версия iOS - ваши другие устройства? Я столкнулся с проблемами, когда iOS 8 теперь более «придирчив» к сетевым запросам, чем предыдущие версии (см. Ответы ниже для возможностей). – Bek

ответ

0

Попробуйте избежать использования имени пользователя и пароля вашего URL-адреса и попробуйте что-то вроде этого.

AFHTTPClient *client = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://examplewebsite.com]]; 

[client setAuthorizationHeaderWithUsername:@"username" password:@"password"]; 
0

Использование AFNetworking: [AFNetworking2.0] https://github.com/AFNetworking/AFNetworking

Добавить UIKit + AFNetworking и AFNetworking папку в вашем проекте.

и добавьте этот код в файл, который вы хотите использовать AFNetworking:

#import "AFnetworking.h" 
#import "UIKit+AFNetworking.h" 

И использовать этот код:

-(void)login 
{  
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 

    [manager POST:@"some_url" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) 
    { 
     NSLog(@"JSON: %@", responseObject); 
    } 
    failure:^(AFHTTPRequestOperation *operation, NSError *error) 
    { 
     NSLog(@"Error: %@", error); 
    }]; 
} 

Поскольку вы передаете параметры в URL строки, установите его в ноль : parameters:nil