起動後に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]
}
)}
ハンドラーが登録されていることは明らかであり、長寿命のインスタンスは呼び出しがないと考えています。呼び出しリストを取得するために常に一時的なインスタンスを使用できることをうれしく思いますが、実際にはイベント ハンドラーを起動する必要があります。