我在 iOS 10 中使用 CXCallObserver 更改了 CTCallCenter。
这是我的代码:
#import <CallKit/CXCallObserver.h>
#import <CallKit/CXCall.h>
-(void)viewDidLoad {
CXCallObserver *callObserver = [[CXCallObserver alloc] init];
[callObserver setDelegate:self queue:nil];
... ...
}
- (void)callObserver:(CXCallObserver *)callObserver callChanged:(CXCall *)call {
if (call.hasConnected) {
NSLog(@"********** voice call connected **********/n");
} else if(call.hasEnded) {
NSLog(@"********** voice call disconnected **********/n");
}
}
Run Code Online (Sandbox Code Playgroud)
但是我无法收到语音呼叫事件,并且收到了如下警告:
Sending 'HomeViewController *const __strong' to parameter of incompatible type 'id<CXCallObserverDelegate> _Nullable
Run Code Online (Sandbox Code Playgroud)
请帮我。
我已经阅读了关于进行非voip调用的问题,似乎开放式网址是唯一的方法.由于不推荐使用CoreTelephony,是否可以在使用open url进行调用时使用Callkit来获取调用状态?如果没有,有没有办法以编程方式获得呼叫状态?我正在开发一个内部应用程序.
提前致谢!!
我希望在我的应用中获得电话状态.
经过一番搜索,我找到了CoreTelephony框架.但是在iOS 10中已经弃用了.那么还有其他可用选择吗?
我也找到了CallKit.iOS 10中的一个新框架.但是没有得到与我搜索时相同的呼叫状态.