如何在后台的iPhone Enterprise应用程序中获取CTCallCenter事件

时间:2016-05-09 21:15:22

标签: iphone core-telephony

我正在寻找一种在企业应用程序处于后台时获取CTCallCenter事件的方法。我在这篇文章中看到了OhadM建议的解决方案:How to get a call event using CTCallCenter:setCallEventHandler: that occurred while the app was suspended?,但我无法在后台使用该应用程序。

我创建了一个新的单一视图应用程序,在appDelegate上添加了一个callCenter属性,并设置了callEventHandler,如帖子所示,并在下面列出。我还添加了Voice over IP和Background fetch Background Modes Capabilities,如上所述。

解决方案中是否有任何其他设置或代码可能有所帮助?我使用的是iOS 9.3.1和Xcode 7.3.1。

[self.callCenter setCallEventHandler:^(CTCall *call)
     {
         NSLog(@"Event handler called");
         if ([call.callState isEqualToString: CTCallStateConnected])
         {
             NSLog(@"Connected");
         }
         else if ([call.callState isEqualToString: CTCallStateDialing])
         {
             NSLog(@"Dialing");
         }
         else if ([call.callState isEqualToString: CTCallStateDisconnected])
         {
             NSLog(@"Disconnected");

         } else if ([call.callState isEqualToString: CTCallStateIncoming])
         {
             NSLog(@"Incomming");
         }
     }]; 

0 个答案:

没有答案