iOS: как инициировать звонок в адресную книгу контакта со специальными символами (# / *) в номере? - PullRequest
4 голосов
/ 16 марта 2011

В настоящее время я работаю над приложением для iOS, которое использует потоковую передачу звука в реальном времени, и наши пользователи попросили функцию автоматической блокировки входящих вызовов во время потоковой передачи.Я знаю, что API для этого не существует, поэтому мы решили, что в интерфейсе есть кнопка, которая автоматически вызывает определенный номер (определенный для провайдера телекоммуникационных услуг), который включает или отключает блокировку входящих вызовов.Он делает это просто, открывая tel: URL.

Все это прекрасно работает, и хотя это может быть не очень удобно для пользователя, поскольку вынуждает пользователей выходить из приложения, я считаю, что это наиболее элегантное решение синструменты, предоставляемые API для iOS.

Однако есть одна оговорка: у некоторых поставщиков услуг связи нет единого короткого номера, по которому люди могут позвонить, чтобы включить или отключить эту функцию.Вместо этого они используют длинные коды со специальными символами, такими как # и *.К сожалению, iOS отказывается открывать тел: URL-адреса с этими символами, предположительно из соображений безопасности.Однако мне было интересно, можно ли пользователям вводить эти номера в контакты, а затем заставлять iOS вызывать эти контакты напрямую?

Я знаю, как получить телефонные номера из адресной книги напрямую, но это бесполезно, потому что япроблема с URL не будет принята.Так есть ли способ, скажем, иметь tel: URL с идентификатором контакта или чем-то подобным?

Спасибо за чтение и / или ответ.:)

1 Ответ

4 голосов
/ 25 сентября 2012

Вы не можете набрать # или * из приложения. Это план Apple, чтобы защитить нас от неприятных людей.

Цитата из документации Apple:

Чтобы пользователи не могли злонамеренно перенаправлять телефонные звонки или изменять поведение телефона или учетной записи, приложение Телефон поддерживает большинство, но не все, из специальных символов в схеме тел. В частности, если URL содержит символы * или #, телефон Приложение не пытается набрать соответствующий номер телефона.

... и преобразование в символы ASCII и другие трюки тоже не работают (я пробовал).

...