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!
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.
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é.
C'est possible dans iOS 10.
Voici comment le faire ->
1.Créez une extension de répertoire d'appel
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.
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.
Les applications ne peuvent pas bloquer les appels téléphoniques. L'utilisateur peut cependant activer le mode Avion dans les paramètres.
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