2016-05-11 15 views
5

Sto cercando di ottenere l'ID del chiamante (numero di telefono) al momento della chiamata in arrivo. TrueCaller ha implementato questo e ottengono il numero di telefono del chiamante in entrata.Ottieni il numero di telefono del chiamante da una chiamata in arrivo su iPhone

Ho trovato questa informazione: 1. CoreTelephony Framework (Fornisce solo gli stati di chiamata) 2. Aggiornamento 9.0 di Apple: sincronizzazione "Forse" dei contatti. con l'app di posta elettronica e rileva il numero di telefono in entrata.

+0

ID chiamante funziona solo su dispositivi jailbroken ... –

+1

Il vero chiamante non ottiene l'id del chiamante. Piuttosto, aggiungono numeri spam noti a un contatto nella rubrica e questo contatto ha l'immagine "spam" – Paulw11

+0

Sì, ma controlla il loro ultimo aggiornamento. Hanno implementato questa cosa anche pubblicato il messaggio introduttivo sul loro sito Web all'indirizzo.https: //www.truecaller.com/articles/iphone –

risposta

6

### EDIT ###

iOS 10 e sopra:

Usa Callkit, un'occhiata a un'estensione directory chiamata

Secondo la documentazione,

Identificazione Cal In arrivo

Quando un telefono riceve una chiamata, il sistema consulta prima i contatti dell'utente per trovare un numero di telefono corrispondente. Se non viene rilevata una corrispondenza, il sistema consulta l'estensione di Directory chiamate della tua app per trovare una voce corrispondente per identificare il numero di telefono. È utile per le applicazioni che gestiscono un elenco di contatti per un utente separato dai contatti di sistema, ad esempio un social network, o per identificare le chiamate in arrivo che possono essere avviate dall'interno dell'app, ad esempio per l'assistenza clienti o una notifica di consegna .

Ad esempio, considerare un utente che è amico di Jane in un'app di social networking, ma non ha il suo numero di telefono nei suoi contatti. L'app di social networking ha un'estensione della Rubrica, che scarica e aggiunge i numeri di telefono di tutti gli amici dell'utente. Per questo motivo, quando l'utente riceve una chiamata in arrivo da Jane, il sistema visualizza qualcosa come "(Nome app) ID chiamante: Jane Appleseed" anziché "Chiamante sconosciuto".

Per fornire informazioni di identificazione sui chiamanti in entrata, si utilizza il metodo addIdentificationEntry (withNextSequentialPhoneNumber: label :) nell'implementazione di beginRequest (con :).

class CustomCallDirectoryProvider: CXCallDirectoryProvider { 
    override func beginRequest(with context: CXCallDirectoryExtensionContext) { 
     let labelsKeyedByPhoneNumber: [CXCallDirectoryPhoneNumber: String] = [ … ] 
     for (phoneNumber, label) in labelsKeyedByPhoneNumber.sorted(by: <) { 
      context.addIdentificationEntry(withNextSequentialPhoneNumber: phoneNumber, label: label)   
     } 

     context.completeRequest() 
    } 
} 

Poiché questo metodo viene chiamato solo quando il sistema lancia l'estensione per app e non per ogni singola chiamata, è necessario specificare le informazioni sulla chiamata di identificazione tutto in una volta; non è possibile, ad esempio, effettuare una richiesta a un servizio Web per trovare informazioni su una chiamata in arrivo.

iOS 9 e precedenti:

Come accennato Kakshil, ID chiamante non è possibile su dispositivi non jailbroken.

E io vi darò alcuni risultati su come vero chiamante funziona,

  1. La sua non è la lettura della cronologia delle chiamate, in realtà creato Action extension, ovunque si tenta di condividere un contatto, questo verrà visualizzato TrueCaller estensione app, che codifica per mostrare il contatto dettagli prelevati dal loro server

  2. Si potrebbe anche confondersi con notifica push ricevuto per qualche chiamate, dicendo "Alcuni X ti chiama". È qui che il truecaller ha usato un trucco. Se hai notato con chiarezza , la notifica push verrà ricevuta solo quando ricevi una chiamata da un utente Android con truecaller installato. Lasciate mi spiego in dettaglio,

X (utente Android con TrueCaller installato), chiamando Y (utente ios con TrueCaller installato), la versione Android notificare il server che X si effettua una chiamata al server di Y. E sarà invia una notifica push all'iPhone di Y.

+0

ma il truecaller fornisce i dettagli della chiamata in arrivo nella scheda chiamate di truecaller applicazione –

+0

come funziona ... per favore aiutatemi –

+0

@SaurabhJain State ricevendo tutte le chiamate in entrata nell'applicazione truecaller? – KingofBliss

1

L'ID del chiamante non è possibile su dispositivi non jailbroken.

Tuttavia, c'è un modo, in cui è possibile sapere quale utente sta chiamando, ma non è sicuro se sarà utile a voi.

Se si dispone di un dispositivo Bluetooth, connesso all'iPhone, riceveranno tutte le notifiche, incluse le chiamate in entrata, a cui è possibile ottenere l'ID del chiamante.

Oltre a questo, non esiste attualmente nessun altro modo per conoscere l'ID chiamato.

+0

Grazie Kakshil, ma controlla l'app "TrueCaller".Accedono al registro delle chiamate e al numero di chiamata in arrivo (credo). Hanno rilasciato l'ultima build il 9 maggio 2016.https: //itunes.apple.com/in/app/truecaller-number-search-spam/id448142450? Mt = 8 –

Problemi correlati