web-dev-qa-db-fra.com

Une application iPhone peut-elle bloquer les appels téléphoniques?

Est-il possible d'écrire une application qui bloquera les appels téléphoniques entrants et sortants? Ou l'iPhone est-il trop verrouillé? Merci!

21
Elliot

EDIT: Voir la réponse de Rajan Maheshwari ci-dessous. CallKit fournit maintenant cela. Même les choses qui semblaient ne jamais changer pourraient changer à terme.


Tout ce qui modifie la capacité d'un utilisateur à passer ou recevoir des appels téléphoniques va à l'encontre de l'approche de base d'Apple pour les applications tierces. Il y a beaucoup de choses qui sont discutables et vous pourriez vous en tirer. Le blocage des appels est clairement interdit.

21
Rob Napier

Il est désormais possible de détecter et de bloquer les appels téléphoniques indésirables depuis iOS 10 et au-dessus.

Voir le framework CallKit

Le framework CallKit (CallKit.framework) permet aux applications VoIP de s'intégrer à l'interface utilisateur de l'iPhone et de donner aux utilisateurs une grande expérience. Utilisez ce cadre pour permettre aux utilisateurs de visualiser et de répondre aux appels VoIP entrants sur l'écran de verrouillage et de gérer les contacts des appels VoIP dans les vues Favoris et Récents de l'application Téléphone.

CallKit présente également des extensions d'application qui permettent le blocage des appels et l'identification de l'appelant. Vous pouvez créer une extension d'application qui peut associer un numéro de téléphone à un nom ou indiquer au système quand un numéro doit être bloqué.

6
Rajan Maheshwari

C'est possible dans iOS 10.

Voici comment le faire ->

1.Créez une extension de répertoire d'appel enter image description here

2.Bloquer l'appel entrant ->

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()
    }
}

Remarque: Si vous utilisez callKit pour recevoir des appels entrants, il n'est pas nécessaire de bloquer manuellement les autres appels.

Lien -> https://developer.Apple.com/reference/callkit

2
Kakshil Shah

Un certain nombre d'événements peuvent potentiellement interrompre une application - appel entrant, SMS message ou alerte de calendrier. Si l'utilisateur ignore l'interruption, votre application continuera de fonctionner. Sinon, elle se terminera.

Voir Apple docs pour plus de détails.

2
MikeJ

Les applications ne peuvent pas bloquer les appels téléphoniques. L'utilisateur peut cependant activer le mode Avion dans les paramètres.

1
ceejayoz

Une application n'a pas accès à la fonction téléphone et n'a aucun moyen de bloquer un appel.
L'alternative est d'attendre Apple pour offrir cette fonctionnalité à l'avenir.

En attendant, vous pouvez

  • Demandez à votre fournisseur - certains fournisseurs le font
  • Créez une sonnerie personnalisée (silencieuse) à associer à un certain nombre (pas de sonnerie).
0
Ring Ø