Вопрос по iphone – Как набрать номер телефона с «##»?

3

Я хочу набрать номер телефона, например & quot; ## 8004664411 & quot; в айфоне.

Если я наберу номер «8004664411», это сработает. Но если номер содержит символ «##», это не сработает.

Вот код, который я использую, который не работает:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://##8004664411"]];

Экранирующий персонаж не так?

Это не ответ, поэтому я добавляю его в комментарии. Мой обходной подход заключался в том, чтобы скопировать номер телефона (с кодами) в буфер обмена и попросить пользователя вставить его в приложение телефона. Это разрешено iOS, и единственный способ заставить его работать :( software evolved
Небольшой комментарий, согласноRFC3966 а такжеRFC2806 вы не должны использоватьtel://<number> ноtel:<number>. rckoenes

Ваш Ответ

1   ответ
1

Боюсь, что вы просто не можете набрать номер, содержащий символы * или #. Похоже, что Apple не допускает их в строке набора номера из соображений безопасности. Ниже приведена соответствующая часть документации.

От Appleдокументация:

To prevent users from maliciously redirecting phone calls or changing the behavior of a phone or account, the Phone application supports most, but not all, of the special characters in the tel scheme. Specifically, if a URL contains the * or # characters, the Phone application does not attempt to dial the corresponding phone number. If your application receives URL strings from the user or an unknown source, you should also make sure that any special characters that might not be appropriate in a URL are escaped properly. For native applications, use the stringByAddingPercentEscapesUsingEncoding: method of NSString to escape characters, which returns a properly escaped version of your original string.

Note: stringByAddingPercentEscapesUsingEncoding: часть не относится к * и # (я пробовал да ...)

Большое спасибо! user1155543
Перепробовал несколько подходов: 1. создать запись контакта и заставить пользователя коснуться значения телефона, 2. использовать встроенное веб-представление, 3. использовать схему URL-адреса telprompt. Несмотря на то, что некоторые из них требовали, чтобы пользователь явно "ok" набираемый номер ни один из них не работал. В конце концов, я просто положил нужную строку и набрал предупреждение, чтобы пользователь вставил ее в телефонное приложение.

Похожие вопросы