Базовая HTTP-аутентификация на iPhone

Я пытаюсь запустить небольшой клиент Twitter и столкнулся с проблемой при тестировании вызовов API, требующих аутентификации.

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

NSString *post = [NSString stringWithFormat:@"status=%@", [status stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@:%@@%@/statuses/update.json", username, password, TwitterHostname]];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];

NSURLResponse *response;
NSError *error;
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

Я начал изучать base64 и помещать аутентификацию в заголовки. я нашелДэйв Дрибин пост о его реализации base64, и это, казалось, имело смысл. Однако когда я попытался использовать его, компилятор начал жаловаться на то, что он не может найти библиотеки openssl. Поэтому я прочитал, что мне нужно связать библиотеку libcrypto, но она не существует для iphone.

Я также читал, как люди говорят, что Apple не разрешает приложения, использующие криптографические библиотеки, что не имеет смысла для меня.

Так что теперь я застрял и запутался. Какой самый простой способ получить базовую аутентификацию в моем приложении?

ура

Ответы на вопрос(2)

Ваш ответ на вопрос