Volevo provare a rilevare le chiamate in arrivo nella mia app. Ho creato un nuovo progetto Swift da zero solo per provare un po 'di codice. L'unica cosa che ho fatto è stata importando CoreTelephony nel ViewController che viene creato con ogni nuovo progetto e ho anche cambiato il viewDidLoad() a:Rileva le chiamate telefoniche su iOS con CTCallCenter (Swift)
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let callCenter = CTCallCenter()
NSLog("start")
callCenter.callEventHandler = {[weak self] (call: CTCall) ->() in
self?.label.text = call.callState
NSLog("Call state")
NSLog(call.callState)
}
Ho provato anche senza la [sé debole] da quando io sono nuovo di rapida e non sono sicuro di ciò che comporta.
Quando eseguo la mia nuova piccola app tramite XCode sul mio telefono, nulla accade quando una chiamata viene ricevuta, scollegata o altro. Nessun errore come mai. Devo fare qualcosa di più per usare il framework CoreTelephony e CTCallCenter?
saluti Johan
Provare a rendere 'callCenter' una proprietà del proprio controller di visualizzazione anziché solo una variabile in' viewDidLoad'. –
Grazie mille, ha funzionato !! –
Puoi spiegare perché ha funzionato con callCenter come proprietà anziché come variabile? –