2013-10-28 5 views
2

내 앱에서 JSON 데이터를 출력하는 기본 PHP 스크립트를 호출합니다. 내 아이폰에이 코드를 실행할 때 모든 변수가 (null)을 몇 가지 이유로HTTP GET 요청은 iOS 시뮬레이터에서 작동하지만 iPhone 기기에서는 작동하지 않습니다.

NSString *buildURL = [NSString stringWithFormat: @"http://xxxx.com/api.php?action=authenticate_user&email=%@&password=%@&deviceToken=%@", _emailAddress, _password, deviceToken]; 
NSURL *url = [NSURL URLWithString: buildURL]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 
NSString *ret = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 

// Parse the result 
NSString *ret2 = [ret stringByReplacingOccurrencesOfString:@"null" withString:@""]; 
NSError* error; 
NSDictionary *JSON = 
[NSJSONSerialization JSONObjectWithData: [ret2 dataUsingEncoding:NSUTF8StringEncoding] 
           options: NSJSONReadingMutableContainers 
            error: &error]; 

NSString* status = [JSON objectForKey:@"status"]; 
NSString* email = [JSON objectForKey:@"email"]; 
NSString* userID = [JSON objectForKey:@"userID"]; 
NSString* agentID = [JSON objectForKey:@"agentID"]; 
NSString* picture = [JSON objectForKey:@"picture"]; 

을하지만, 시뮬레이터 나는 정확한 데이터를 얻을 :

나는이 같은 내 PHP 스크립트를 호출하고 있습니다.

내 PHP 스크립트의 출력은 다음과 같습니다

{"status":"1", "agentName":"Bill", "picture":"http://xxxx.com/thumb_ad1-8908968097.jpg", "departmentName":"", "email":"[email protected]", "agentID":"513", "userID":"3"}null 

모든 아이디어는 내가 잘못 뭘하는지?

+0

왜 PHP 스크립트의 출력 끝에 'null'비트가 있습니까? –

+0

그걸 출력하는 PHP 스크립트지만, 시뮬레이터에서 작동하는 것처럼 중요하지 않아야합니다. – Alosyius

+1

좋은 경험 법칙 : 시뮬레이터에서 작동하는 것이 장치에서 작동한다고 가정하지 마십시오. 이것이 유효한 JSON이 아니기 때문에 먼저 수정해야합니다. –

답변

3

필자의 웹 서비스가 라이브가 아니라는 것을 확신합니다 (귀하의 웹 서비스는 로컬 서버에 있으며 글로벌하게 만듭니다).

장치가 현재 php 서버에 연결되어 있지 않습니다. 시뮬레이터에서 webservice를 호출 한 곳에서 연결됩니다. mac os가 서버에 연결되어 있기 때문에 출력이 제공됩니다.