【发布时间】:2017-05-17 05:06:46
【问题描述】:
所以我想从我的应用中获取我拨打的蜂窝电话的时间。一旦呼叫连接,我就会得到呼叫的开始时间,但我也会在呼叫结束时执行开始时间块,这会覆盖我的 callStartTime 属性。来电也会发生同样的事情(您可以从随附的控制台日志屏幕截图中看到)。我正在使用telprompt:// 拨打电话并返回应用程序。这是一个错误吗?
【问题讨论】:
标签: ios objective-c call timing callkit
所以我想从我的应用中获取我拨打的蜂窝电话的时间。一旦呼叫连接,我就会得到呼叫的开始时间,但我也会在呼叫结束时执行开始时间块,这会覆盖我的 callStartTime 属性。来电也会发生同样的事情(您可以从随附的控制台日志屏幕截图中看到)。我正在使用telprompt:// 拨打电话并返回应用程序。这是一个错误吗?
【问题讨论】:
标签: ios objective-c call timing callkit
CXCallObserver 委托方法在调用更改时调用,并在调用连接时调用一次,然后在调用结束时调用。 hasConnected 和 hasEnded 属性应分别解释为“已 连接”和“已 结束”。
因此,我建议使用如下逻辑:
if (call.hasConnected) {
if (!call.hasEnded) {
// record start time (unless start time has already been recorded)
} else {
// record end time (unless end time has already been recorded)
}
}
【讨论】: