Получение NSData из URL-адреса работает в симуляторе, но не на устройстве

Я реализую метод, который отправляет заметки на сервер:

-(IBAction)inserttotextfied:(id)sender{

    NSString *strurl=[NSString stringWithFormat:@"http://localhost/get-data/insert.php?Name=%@&message=%@",txtf.text,txt2.text];
    NSData *dataurl=[NSData dataWithContentsOfURL:[NSURL URLWithString:strurl]];
    NSString *stresult=[[[NSString alloc]initWithData:dataurl encoding:NSUTF8StringEncoding]autorelease];
    NSLog(@"%a",stresult);
}

Проблема в том, что когда я тестирую его через симулятор, он отправляется, но когда я тестирую его на устройстве, данные не сохраняются.


person Norah    schedule 18.07.2012    source источник


Ответы (3)


Вы, вероятно, не хотите отправлять что-то на локальный хост на своем устройстве, или вы используете другой URL-адрес в сборке устройства?

person Hugo    schedule 18.07.2012
comment
Вы пытались получить доступ к URL-адресу в Safari на устройстве? Тогда вы, возможно, сможете увидеть, может ли устройство подключиться к серверу в первую очередь. - person Hugo; 18.07.2012

Симулятор быстрее реагирует. Таким образом, URL-адрес возвращает данные и печатает правильно. Но на устройстве время отклика выше, чем на симуляторе. Ваш NSLog(@"%a",stresult); оператор выполняется до того, как он получит какие-либо данные из ответа. Я предлагаю дать некоторую задержку или использовать делегата, чтобы вы могли использовать данные после получения ответа.

person mrityunjay kumar    schedule 18.07.2012

Спецификатор формата %a равен 64-bit floating-point number (double), printed in scientific notation with a leading 0x and one hexadecimal digit before the decimal point using a lowercase p to introduce the exponent.

если это не ваше намерение, попробуйте следующее:

NSLog(@"%@", stresult);
person Andrei G.    schedule 18.07.2012