Мое приложение вызывает базовый PHP-скрипт, который выводит данные JSON.HTTP GET запрос, работающий в iOS-симуляторе, но не на устройстве iPhone
Я звоню мой PHP скрипт так:
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"];
По какой-то причине при выполнении этого кода на моем iPhone все переменные (null)
, но в тренажере я получить правильные данные.
Выход моего PHP сценария:
{"status":"1", "agentName":"Bill", "picture":"http://xxxx.com/thumb_ad1-8908968097.jpg", "departmentName":"", "email":"[email protected]", "agentID":"513", "userID":"3"}null
Любые идеи, что я делаю неправильно?
Почему в конце вывода вашего PHP-скрипта есть бит 'null'? –
Его скрипт php, который выводит его, но я считаю, что это не имеет значения, поскольку он работает в симуляторе. – Alosyius
Хорошее эмпирическое правило: никогда не предполагайте, что только потому, что что-то работает в симуляторе, оно будет работать на устройстве. Вы должны исправить это, поскольку это недействительно JSON. –