Обработка тел: ссылки в приложении VoIP
Есть ли какой-нибудь метод в iOS (CallKit? Возможно), где приложение VoIP может зарегистрироваться для обработки ссылок tel:? Таким образом, когда пользователь выбирает номер телефона (например, в сафари). Им будет предложено два варианта для завершения вызова.
1 ответ
Решение
Эта возможность не существует в iOS сегодня. Если вы заинтересованы в этом, я рекомендую подать отчет об ошибке, чтобы запросить его на веб-сайте Apple Bug Report.
Это поддерживается в iOS в эти дни, если нажать и удерживать tel:
ссылка на сайт. Однако он не использует стандартную систему схем URI. Кажется, CallKit автоматически регистрирует ваше приложение как обработчик tel:
ссылки, если вы объявляете поддержку телефонных звонков, и ссылка передается через следующее событие:
import Intents
protocol SupportedStartCallIntent {
var contacts: [INPerson]? { get }
}
extension INStartAudioCallIntent: SupportedStartCallIntent {}
extension INStartVideoCallIntent: SupportedStartCallIntent {}
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, CXProviderDelegate {
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
let interaction = userActivity.interaction
let startCallIntent = interaction?.intent as? SupportedStartCallIntent
if let contact = startCallIntent?.contacts?.first?.displayName {
// do what you want with 'contact'
}
return true
}