https://developer.apple.com/documentation/avfaudio/avaudiosession/mode/1616455-voicechat
In this document's discussion region, there is side effect mentioned. But details of side effect is not available. Please share the details of side effect.
Using this mode has the side effect of enabling the allowBluetooth category option.
Post
Replies
Boosts
Views
Activity
Hi Team,
We are facing an issue with AVRoutePickerView, Bluetooth to Earpiece switching during in-call. This issue is not occurring in iOS 14 and below.
When the VOIP call is connected, the user switches the audio mode from Bluetooth to Earpiece and it's not switching in iOS 15 and above. We have added the Category options like AllowBluetoothA2DP for fixing some other issues.
Since then Bluetooth to Earpiece switching is not happening. But same code is working fine in iOS 14 and below. Could you please provide solution for this issue or share us the cause of this issue. May help us to investigate this further.
Code: Xamarin iOS
/*Initialiser*/
AVAudioSessionCategory category = AVAudioSessionCategory.SoloAmbient;
AVAudioSessionCategoryOptions options = 0;
AVAudioSessionPortOverride port = AVAudioSessionPortOverride.None;
NSString mode = AVAudioSession.ModeDefault;
/*When VOIP call gets connected it will be true*/
if (m_active) {
mode = AVAudioSession.ModeVoiceChat;
category = AVAudioSessionCategory.PlayAndRecord;
options = AVAudioSessionCategoryOptions.AllowBluetooth;
}
/*Setting mode and category*/
AVAudioSession.SharedInstance().SetMode(mode, out err);
AVAudioSession.SharedInstance().SetCategory(category, options | AVAudioSessionCategoryOptions.DuckOthers | AVAudioSessionCategoryOptions.AllowBluetoothA2DP);
AVAudioSession.SharedInstance().OverrideOutputAudioPort(port, out err);
During the call, we are changing mode, category, and options, We are using CallKit to manage the calls, Our application call will be similar to VOIP calls.
Make an outgoing call from VoIP Application and wait until call is connected.
Put application in background and try to make a GSM outgoing call
After step 2, "Call Failed" dialog appears and both the VoIP app call and the outgoing GSM calls are disconnected
This issue got fixed with passing dateConnected parameter as null [provider.ReportConnectedOutgoingCall(new NSUuid(call.UUID), null)].
In case of issue reproducible, provider.ReportConnectedOutgoingCall's dateConnected parameter is supplied like provider.ReportConnectedOutgoingCall(new NSUuid(call.UUID), Tools.ConvertDateTimeToNSDate(call.ConnectedOn));
We are not able to identify how passing dateConnected parameter as null is fixing this issue. We could not able to find any reference. Please help on this detail..
We are developing VOIP application. Which includes message and call features
During call if our app receives a message. Message notification sound is not played in iOS 13 and iOS 14.
When we check same issue with Whatsapp message notification sound is played in iOS 14. But in iOS 13 message notification sound is not played.
We are setting mode and category like below
AVAudioSession.SharedInstance().SetMode(AVAudioSession.ModeVoiceChat, out err);
AVAudioSession.SharedInstance().SetCategory(AVAudioSessionCategory.PlayAndRecord, AVAudioSessionCategoryOptions.AllowBluetooth | AVAudioSessionCategoryOptions.AllowBluetoothA2DP);
Please let me know if any solution available to play notification sound during on going call.
In my application, I am accessing local network device using wifi connection. Transport type is UDP. That local network device expose few api's to process with my iOS application. For example, consider one of the api name is "Login" and other api name is "GetDeviceList".
When I call "Login" api from my iOS application (iOS 14), Local network privacy setting permission request dialog is not appearing (API processed successfully, without local network permission provided).
But when I call "GetDeviceList" from my iOS application (iOS 14) network privacy setting permission request dialog is displayed (API call is failed due to local network permission not provided).
As I am accessing Local network Device from both of the API. Permission dialog should be displayed for first time any one of the API is accessed. And both API should fail when permission not provided.
Could someone please help me to understand why permission is not showing for "Login" api and Login api is processed successfully. Every time "Login" API is processed successfully even though permission not provided.
https://support.apple.com/en-in/HT211870
With iOS 14 and iPadOS 14, any app that wants to interact with devices on your network must ask for permission the first time it tries to browse your local network.
if the character reaches particular limit text will be truncated in UITextField, if we move the cursor to truncated(LineBreakMode) character it's not displaying full text, it's displaying like “…”, is any other option to display those truncated character in UITextfield
"Take photo" option is not displaying while setting the contact image using CNContactViewController in iOS 12, but i can able to see in updated OS Version(13,14).
in iOS 12 i can see only one "Choose from gallery" option but in iOS 13 and above i can see "Take Photo" and "choose from gallery" two options
We are developing VOIP application. In the Phase 1 of development for calling functionality we have option to switch audio between ear phone, speaker and bluetooth. If audio is routed to bluetooth then bluetooth option will be selected. We are not showing bluetooth device name. Instead we show static name "bluetooth".
Just wanted to make sure that showing name as "bluetooth" instead of bluetooth device name will leads to app store rejection?
I was not able to find the guidelines for bluetooth display in App Store Review Guidelines.
Please update me.