我CTCallCenter
在启动后创建了一个实例(alloc/init)。事件处理程序永远不会被调用(既不是NSLog
也不是breakpoint
火灾)。如果我稍后询问有关当前调用的信息,它会返回 nil。如果我[[[CTCallCenter alloc] init] currentCalls]
同时打电话,那么它确实会返回电话。
例如,当调用处于活动状态时(我将应用程序带回前台并随后触发了一个计时器),这里有一个NSLog
显示长期存在的CTCallCenter
实例、它为 currentCalls 返回的内容以及新的瞬态实例返回的内容:
CTCallCenter(0x1e5639c0): {
server_connection: 0x1e5640e0 currentCalls: {(
)} callEventHandler: 0xa0c90
}
(null)
{(
CTCall (0x1e5a0fb0) {
callState: [CTCallStateIncoming]
Call ID: [1EB2A082-4A12-48C2-A76C-2244F8F402EE]
}
)}
很明显,注册了一个处理程序,并且长期存在的实例认为没有调用。我很高兴总是使用瞬态实例来获取调用列表,但我确实需要触发事件处理程序。