Я использую ASIHTTPRequst в своем приложении, и у меня возникают некоторые проблемы, но только на некоторых устройствах. В некоторых случаях я получаю следующую ошибку:
" Неверное значение NSStringEncoding 0x0000. Предполагая NSASCIIStringEncoding. Остановит это поведение сопоставления совместимости в ближайшем будущем"
У меня есть ограниченные возможности для тестирования этого, потому что он работает на всех моих внутренних тестовых устройствах, но проблема все еще возникает на одном или нескольких моих тестовых телефонах моих клиентов. Это может быть также случай, когда телефон подключен к сотовой сети, поскольку он работает на WiFi.
Кто-нибудь знает, что может вызвать проблему? Я вижу, что есть похожие вопросы, но мой код выглядит как правильный как от других вопросов, так и от сайта ASIHTTPRequest.
Изменить При возникновении ошибки ответ от сервера не получает, поэтому пользователь застревает в регистре/входе.
urlEncodeValue:
- (NSString *)urlEncodeValue:(NSString *)str
{
NSString *result = (NSString *) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)str, NULL, CFSTR(":/?#[]@!$&’()*+,;="), kCFStringEncodingUTF8);
return [result autorelease];
}
Фрагмент кода ASIHTTPRequest:
NSString *encodedUrlAdress = [NSString stringWithFormat:@"%@user/register/%@/%@/%@/%d/%@/%@/%@/%@",
kUserServerAddress,
[self urlEncodeValue:_firstName],
[self urlEncodeValue:_lastName],
[self urlEncodeValue:_phoneNumber],
_sex,
[self urlEncodeValue:_birthDate],
[self urlEncodeValue:_address],
[self urlEncodeValue:_postalNumber]];
NSLog(@"encodedUrlAdress: %@", encodedUrlAdress);
NSURL *url = [NSURL URLWithString:encodedUrlAdress];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request startSynchronous];
NSError *error = [request error];
if (!error) {
// do stuff
}