Набрать номер в iOS действительно нужно подтверждение? - PullRequest
5 голосов
/ 09 мая 2011

Я использую следующий код для набора номера и тестирования на моем устройстве.Кажется, подтверждение не требуется , верно?

NSURL *url = [NSURL URLWithString:@"tel://12345678"];
[[UIApplication sharedApplication] openURL:url];

Ответы [ 3 ]

18 голосов
/ 10 мая 2011

Альтернатива подходящему решению, уже опубликованному, вы можете использовать схему URL telprompt, например,

NSURL *url = [NSURL URLWithString@"telprompt://12345678"];
[[UIApplication sharedApplication] openURL:url];
14 голосов
/ 09 мая 2011

Подтверждение не требуется и не отображается, когда выполняется программно.Вы можете увидеть alertView в Safari, только если щелкнуть число.

Однако, исходя из собственного опыта, я считаю, что клиентам удобнее видеть диалоговое окно, чтобы они случайно не звонили кому-то.Люди просто вкладывают вещи в приложения, даже не задумываясь, и в этом случае это может быть плохо.

Чтобы имитировать, что делает сафари, вы можете сделать что-то вроде этого:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Call 12345678?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Call", nil];
[alert show];
alert.tag = 1;
[alert release];

и

-(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    switch (alertView.tag) {
        case 1:
            if (buttonIndex == 1) {
                NSURL *url = [NSURL URLWithString:@"tel://12345678"];
                [[UIApplication sharedApplication] openURL:url];
            }
            break;
        default:
            break;
    }
}
0 голосов
/ 08 апреля 2014

Подтверждение не требуется, но желательно, поскольку оно предотвращает путаницу, когда пользователи попадают в приложение для набора номера.одна вещь, которую вы можете сделать, что было предложено другим ответом, это использовать telprompt, а не просто tel.Это обеспечит подсказку, которая необходима через простой диалог.У него также есть очень приятный побочный эффект, когда пользователи возвращаются в вызывающее приложение после завершения телефонного звонка.Эти ключевые элементы позволяют вам продолжать работать, а не выходить из приложения.

Категория, которая более подробно объясняет этот код, и пример проекта доступны здесь: http://www.raizlabs.com/dev/2014/04/getting-the-best-behavior-from-phone-call-requests-using-tel-in-an-ios-app/

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