Можно ли написать приложение, которое будет блокировать входящие и исходящие телефонные звонки? Или iPhone заблокирован слишком много? Спасибо!
Может ли iPhone приложение блокировать телефонные звонки?
Ответ 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 для приема входящих вызовов, тогда нет необходимости вручную блокировать другие вызовы.