Tag: core telephony

在CTCallCenter callEventHandler中取消隐藏视图非常缓慢

在原始问题没有得到答复之后,转载更加简洁和重点突出的问题。 经过一天的研究之后,还要加深对这个问题的认识: 在我的应用程序委托(didFinishLaunching)中,我在CTCallCenter上设置了一个callEventHandler。 这个想法是,当一个callState改变时,我发布一个包含call.callState的userInfo字典的通知。 在我看来,我观察到这个通知,并且当userInfo字典包含CTCallDisconnected的值时,我想取消隐藏一个视图。 我遇到的问题是,无隐藏的方面几乎一致,约7秒。 其他一切工作正常,我知道这是因为我NSLog之前和之后的解除隐藏,而这些日志立即出现,但恶意的观点仍然滞后7秒。 这是我的代码: appDidFinishLaunching: self.callCenter = [[CTCallCenter alloc] init]; self.callCenter.callEventHandler = ^(CTCall * call){ //我们的呼叫中心发生了状态变化 NSDictionary * dict = [NSDictionary dictionaryWithObject:call.callState forKey:@“callState”]; [[NSNotificationCenter defaultCenter] postNotificationName:@“CTCallStateDidChange”object:self userInfo:dict]; }; 然后,当用户点击拨打电话号码的button时,我会收听此通知: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ctCallStateDidChange 🙂 name:@“CTCallStateDidChange”object:nil]; 然后,在ctCallStateDidChange中: – (void)ctCallStateDidChange:(NSNotification *)通知 { 的NSLog(@ “121”); NSString * callInfo = [[通知用户信息] objectForKey:@“callState”]; 如果([callInfo isEqualToString:CTCallStateDisconnected]){ NSLog(@“before […]