Как позвонить на телефон с номера, введенного в UITextField? - PullRequest
0 голосов
/ 10 августа 2011

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

NSString * phoneNumber = [NSString stringWithFormat:@"%@%@", @"tel://", phoneNumber.text];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];

У кого-нибудь есть подобный подход к этому? Спасибо.

Ответы [ 2 ]

2 голосов
/ 10 августа 2011

Я думаю, что это tel: вместо tel://. См. Этот документ Apple. Попробуйте сделать снимок:

NSString *pn = [@"tel:" stringByAppendingString:phoneNumber.text];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:pn]];
0 голосов
/ 10 августа 2011

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

В основном вы делаете это:

NSString *cleanedString = [[phoneNumber componentsSeparatedByCharactersInSet:[[NSCharacterSet characterSetWithCharactersInString:@"0123456789-+()"] invertedSet]] componentsJoinedByString:@""];
NSString *escapedPhoneNumber = [cleanedString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *telURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel://%@", escapedPhoneNumber]];

Обновить: Я заметил, что созданная вами строка имеет некоторое имя ("phoneNumber") в качестве текстового поля, из которого вы пытаетесь получить текст.Вы можете переименовать любой из этих двух.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...