Подтвердить что ты не робот

Может ли iPhone приложение блокировать телефонные звонки?

Можно ли написать приложение, которое будет блокировать входящие и исходящие телефонные звонки? Или iPhone заблокирован слишком много? Спасибо!

4b9b3361

Ответ 1

ИЗМЕНИТЬ: см. ответ Раджана Махешвари ниже. CallKit теперь предоставляет это. Даже вещи, которые, казалось бы, никогда не изменились, могут в конечном итоге измениться.


Все, что изменяет способность пользователя совершать или принимать телефонные звонки, будет зависеть от базового подхода Apple к сторонним приложениям. Есть много вещей, которые сомнительны, и вы можете уйти. Блокировка вызовов явно запрещена.

Ответ 2

Теперь можно обнаружить и заблокировать нежелательные телефонные звонки с iOS 10 и выше.

См. CallKit framework

Структура CallKit (CallKit.framework) позволяет VoIP-приложениям интегрироваться с пользовательским интерфейсом iPhone и предоставлять пользователям большой опыт. Используйте эту инфраструктуру, чтобы пользователи могли просматривать и отвечать на входящие вызовы VoIP на экране блокировки и управлять контактами из VoIP-вызовов в представлениях "Избранное" и "Рецензии" "Мобильные приложения".

CallKit также предлагает расширения приложений, которые позволяют блокировать блокировку вызовов и идентификацию вызывающего абонента. Вы можете создать расширение приложения, которое может связывать номер телефона с именем или сообщить системе, когда номер должен быть заблокирован.

Ответ 3

Количество событий потенциально может прервать приложение - входящий вызов, SMS-сообщение или предупреждение о календарном сообщении. Если пользователь игнорирует прерывание, приложение будет продолжать работать. Если нет, оно прекратится.

Подробнее см. Apple docs.

Ответ 4

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

Ответ 5

Приложение не имеет доступа к функции телефона и не имеет возможности заблокировать вызов.
Альтернативой является ждать, пока Apple предложит эту функцию в будущем.

Тем временем вы можете

  • Спросите своего провайдера - некоторые провайдеры делают это
  • Создайте настраиваемый мелодию звонка (тихий), который будет связан с некоторым номером (без звонка).

Ответ 6

Это возможно в iOS 10.

Вот как это сделать →

1.Создание расширения каталога вызовов введите описание изображения здесь

2. Заблокировать входящий вызов →

class CustomCallDirectoryProvider: CXCallDirectoryProvider {
    override func beginRequest(with context: CXCallDirectoryExtensionContext) {
        let blockedPhoneNumbers: [CXCallDirectoryPhoneNumber] = [ phone Numbers here with country code! ]
        for phoneNumber in blockedPhoneNumbers.sorted(by: <) {
            context.addBlockingEntry(withNextSequentialPhoneNumber: phoneNumber)
        }

        context.completeRequest()
    }
}

Примечание: Если вы используете callKit для приема входящих вызовов, тогда нет необходимости вручную блокировать другие вызовы.

Ссылка → https://developer.apple.com/reference/callkit