2016-06-10 3 views
0

Я работаю над приложением iOS, и я создал API с использованием cakephp, в котором я реализовал JWT для auth. Я проверял через почтальона, если он работает, и он отлично работает enter image description hereОтвет на сообщение iOS

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

вот мой код на прошивке

NSURL * url = [NSURL URLWithString:@"http://localhost:8765/api/accounts/token"]; 
NSMutableURLRequest *rq = [NSMutableURLRequest requestWithURL:url]; 
[rq setHTTPMethod:@"POST"]; 

NSData *jsonData = [@"{ \"mail_address\": [email protected],\"password\": 1234 }" dataUsingEncoding:NSUTF8StringEncoding]; 
[rq setHTTPBody:jsonData]; 

[rq setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
[rq setValue:[NSString stringWithFormat:@"%ld", (long)[jsonData length]] forHTTPHeaderField:@"Content-Length"]; 
NSData *returnData = [NSURLConnection sendSynchronousRequest: rq returningResponse: nil error: nil]; 
NSString *strData = [[NSString alloc]initWithData:returnData encoding:NSUTF8StringEncoding]; 

NSLog(@"POST sent! %@",strData); 
+1

Start, введя значения для '' returningResponse' и error' и посмотреть если что-то пошло не так. Также вы используете этот код на симуляторе или на реальном устройстве? Ваш URL-адрес - «localhost», поэтому он не будет работать, если вы находитесь на реальном устройстве. Вы используете «HTTP», поэтому вам также необходимо отключить ATS. – Paulw11

+0

Хорошо, становится все яснее. В качестве ответа у меня есть HTML-страница. Ошибка равна нулю. Я смотрел на html-код, и я нашел свой токен, но это не JSON, как я предполагаю получить его? –

+0

Ну, глядя на ваш скриншот, там есть JSON, но над ним есть HTML, предупреждающий о вашем php-коде. Возможно, сначала исправьте это. – Paulw11

ответ

0

Я нашел решение, на моем коде IOS он пропустит этого

[rq setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
Смежные вопросы