我正在將現有的VoIP應用程序轉換爲Callkit。我有很多代碼,但不知何故,當我初始化CXProvider時,它會調用providerDidBegin,然後立即調用providerDidReset。它沒有給出原因。之後,我無法註冊其中一個撥出的電話,因爲我的提供商未處於活動狀態。iOS Callkit:CXProvider啓動後立即重置
我試過尋找證書,設置等,但基本上我不需要比我已經有我的VoIP應用程序似乎更多。
從CallKit調用重置方法的調用如下:
CallKit`__42- [CXProvider handleConnectionInterruption] _block_invoke:
當我深入挖掘它從何而來,它的NSXPCConnection有關。這個連接是什麼,我該如何設置它?
當然連接沒有中斷。
這是我初始化我代表:
- (id)init {
self = [super init];
self.configuration = [[ProviderConfiguration alloc] init];
self.provider = [[CXProvider alloc] initWithConfiguration:self.configuration];
[self.provider setDelegate:self queue:dispatch_get_main_queue()];
return self;
}
如此配置的樣子:
- (instancetype)init {
self = [super initWithLocalizedName:@"MyCompany"];
self.supportsVideo = NO;
self.maximumCallsPerCallGroup = 1;
self.supportedHandleTypes = [[NSSet alloc] initWithObjects:[NSNumber numberWithInt:(int)CXHandleTypePhoneNumber], nil];
self.maximumCallGroups = 1;
self.maximumCallsPerCallGroup = 5;
return self;
}
兩個回調來實現:
- (void)providerDidBegin:(CXProvider *)provider {
NSLog(@"Begun");
}
- (void)providerDidReset:(CXProvider *)provider {
NSLog(@"Reset");
}
非常感謝你 –
由於大多數人似乎是由你的答案幫助我將它設置爲接受回答 –