我正在尝试在调用applicationDidBecomeActive时检测用户是否已在通话中。
使用CTCallCenter的callEventHandler对此不起作用(虽然我已经让它运行得很好),所以我使用了CTCallCenter中定义的currentCalls属性。我有以下功能:
- (Boolean) currentlyInCall {
CTCallCenter *callCenter = [[CTCallCenter alloc]init];
if([callCenter currentCalls] == nil) {
return false;
}
else {
return true;
}
}
如果用户已经在通话中或者他们不是......但是只有在干净安装后第一次运行应用程序时,才会返回正确的值。之后,此方法将始终返回false - 意味着currentCalls始终返回nil - 即使用户实际处于呼叫中。 强制退出应用程序没有帮助,也没有重启设备。只能重新安装。
有什么想法吗?这会发生在其他人的设备上吗?
如果重要的话,我正在使用XCode 4在OSX Lion上进行自动引用计数并在3GS iPhone上进行测试。
答案 0 :(得分:2)
结果是currentCalls恢复得很好。我的程序中的其他地方有一个问题,看起来它不是。糟糕。