I am developing one application which has audio and video calling functionality and i m using callkit. By default it is displaying application call history in device phone book Recents tab. I want to hide callkit call history from device phone book. is there anyway to do it? setIncludesCallsInRecents = FALSE . this flag only works with iOS 12, is there any way to achieve this on iOS 13 and iOS 14 (void)config {
CXProviderConfiguration *config = [[CXProviderConfiguration alloc]
initWithLocalizedName:[NSBundle.mainBundle objectForInfoDictionaryKey:@"CFBundleName"]];
config.ringtoneSound = @"notes_of_the_optimistic.caf"; NSLog(@"config provider delegate");
config.supportsVideo = FALSE; //config.supportsVideo = TRUE;
[config setIncludesCallsInRecents:FALSE]; config.iconTemplateImageData = UIImagePNGRepresentation([UIImage imageNamed:@"callkit_logo"]);
//NSArray *ar = @[ [NSNumber numberWithInt:(int)CXHandleTypeGeneric] ]; NSArray *ar = @[ [NSNumber numberWithInt:(int)CXHandleTypeGeneric] ];
NSSet *handleTypes = [[NSSet alloc] initWithArray:ar];
[config setSupportedHandleTypes:handleTypes]; [config setMaximumCallsPerCallGroup:1];
// [config setMaximumCallGroups:3];
//[config setMaximumCallsPerCallGroup:2]; [self.observer setDelegate:self queue:dispatch_get_main_queue()];
}
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I have one application which makes VOIP calls. I m using following code to route audio to bluetooth (void)configAudioSession:(AVAudioSession *)audioSession
{
NSLog(@"config audio session");
NSError *err = nil;
[audioSession setCategory:AVAudioSessionCategoryPlayback
withOptions:AVAudioSessionCategoryOptionAllowBluetooth | AVAudioSessionCategoryOptionAllowBluetoothA2DP | AVAudioSessionCategoryOptionMixWithOthers
error:&err];
if (err) {
LOGE(@"Unable to change audio category because : %@", err.localizedDescription);
err = nil;
}
[audioSession setMode:AVAudioSessionModeVoiceChat error:&err];
[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideNone error:nil];if (err) {
LOGE(@"Unable to change audio mode because : %@", err.localizedDescription);
err = nil;
}
[audioSession setActive:TRUE error:&err];
if (err) {
LOGE(@"Unable to active session because : %@", err.localizedDescription);
err = nil;
}
}
This code works fine if i select Bluetooth headset from iPhone settings (Accessibility->Touch-> Call Audio Routing). but after you change setting to automatic and again change it to bluetooth , it does not redirect audio to bluetooth headset without restarting application. Is it mandatory to restart application once call audio routing is changed from device settings?. How can i achieve that without restarting app. I am calling above code before each call.
Thanks in Advance.