Ich wollte versuchen, eingehende Anrufe in meiner App zu erkennen. Ich habe ein neues Swift-Projekt von Grund auf neu erstellt, um Code zu testen. Das einzige, was ich tat, war der Import CoreTelephony in dem Viewcontroller, die mit jedem neuen Projekt angelegt wird, und ich änderte auch den viewDidLoad() auf:Erkennen von Telefonanrufen auf iOS mit 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)
}
Ich habe auch versucht, ohne die [schwache Selbst], da ich bin neu in swift und nicht sicher, was es beinhaltet.
Wenn ich meine neue kleine App über XCode auf meinem Handy starte, passiert nichts, wenn ein Anruf empfangen wird, die Verbindung getrennt wird oder irgendetwas anderes. Kein Fehler was auch immer. Muss ich etwas mehr tun, um das CoreTelephony-Framework und das CTCallCenter zu verwenden?
Grüße Johan
Versuchen Sie, 'callCenter' eine Eigenschaft Ihres View-Controllers anstatt nur einer Variablen in' viewDidLoad' zu machen. –
Vielen Dank, das hat funktioniert !! –
Können Sie erklären, warum es mit CallCenter als Eigenschaft statt einer Variablen gearbeitet hat? –