Table of Contents
Native & Hybrid SDK
- Error: Failed to run React Native iOS Application due to App Error
- Issue: Unable to run EnableX Plugin on a simulator
- Error: Multidex manifest merger fails on building Cordova app on Android
- Error: Exception encountered in class Lorg/webrtc/EglBase or in their superclasses in Flutter, e.g. No static method create()Lorg/webrtc/EglBase
- Error: More than one file found with OS independent path ‘META-INF/LICENSE’ in Cordova on Android
- Issue: No Audio after joining a call
- Error: “RNEnxRtc Plugin: class missing/class not found error” after project setup in iOS
- Issue: Unable to install POD library in a React Native application
- Issue: Failed to archive React Native iOS project due to compilation error.
- Issue: Failed to archive Flutter iOS project due to compilation error.
- Error: Linking of libraries fails during compilation in React Native application on Android
- Error: Linking of libraries fails during compilation in React Native application on iOS
General
- Issue: Video gone blank
- Error: Receiving “media access denied” error
- Issue: Application-Sharing not working smoothly
- Error: Receiving “TLS Handshake Failed” error on executing the application
- Issue: No Audio/Video after being connected to the Room
- Error: Receiving “Permission Denied” error on trying to join a room
- How can I see live error logs?
- I am getting “X” error code when I run my code. What does it mean?
Error: Failed to run React Native iOS Application due to App Error
Reason: It might have been caused by cache.
Solution: To fix this issue, follow the steps given below:
- Step 1: Clean your iOS project.
- Step 2: Delete your drive data.
- Step 3: Uninstall POD.
pod deintegrate
- Step 4: Clean POD.
pod clean
- Step 5: Remove podFile.
rm podfile
- Step 6: Install POD again.
pod install
- Step 7: Open
yourappName.xcworkspace
. - Step 8: Clean your project again.
- Step 9: Connect your device and run.
Issue: Unable to run EnableX Plugin on a simulator
EnableX Plugin does not compile on a simulator because a simulator does not support devices (Camera/Mic). Therefore, the application needs to run on a real device only.
Back to IndexError: Multidex manifest merger fails on building Cordova app on Android
To fix the Multidex issue in Cordova:
Go to Android folder -> app-level build.gradle
and add the following:
implementation androidx.multidex:multidex:2.0.1Back to Index
Error: Exception encountered in class Lorg/webrtc/EglBase or in their superclasses in Flutter, e.g. No static method create()Lorg/webrtc/EglBase
To solve this issue, add the following code in gradle.properties:
android.enableDexingArtifactTransform.desugaring=falseBack to Index
Error: More than one file found with OS independent path ‘META-INF/LICENSE’ in Cordova on Android
To solve this error, add the following code in the app/gradle:
packagingOptions { exclude 'META-INF/DEPENDENCIES' }Back to Index
Issue: No Audio after joining a call
Reason: When a user joins an EnableX Room, the audio plays on “Earpiece” by default.
Solution: After receiving the acknowledgement for a successful Stream Publication, the user needs to switch the Audio device to “Speaker” or any other connected Audio device.
EnxRoom.switchMediaDevice(“Speaker”); // To switch to Speaker
To switch to any other Audio device, you need to get a list of connected Audio devices using the method shown below and use the retrieved Device name/ID to make a switch.
EnxRoom.getDevices(); // Get list of DevicesBack to Index
Error: “RNEnxRtc Plugin: class missing/class not found error” after project setup in iOS
Reason: “Bridging Header” not found.
Solution: After setting up the project, add one blank file in Swift to create “Bridging Header” which aids in communication between objective-c and swift.
Back to IndexIssue: Unable to install POD library in a React Native application
Reason: The name of the given podspec RNEnxRtc
doesn’t match the expected one – enx-rtc-react-native
as we have renamed our EnableX React Native plugin.
Solution: To fix this issue, follow the steps given below:
- Go to your React Native Project folder > iOS > Podfile
- Change the following:
- Old:
pod ‘enx-rtc-react-native', :path => '../node_modules/enx-rtc-react-native/ios/RNEnxRtc.podspec'
- New:
pod 'RNEnxRtc', :path => '../node_modules/enx-rtc-react-native/ios/RNEnxRtc.podspec‘
- Old:
Issue: Failed to archive React Native iOS project due to compilation error.
Reason: When an application is archived, it compiles all the source code without checking the device compatibility first. This issue is a result of EnableX iOS plugin not supporting the simulator.

Solution: To fix this issue:
- Go to your Project Navigation > Pods > RNEnxRtc > Excluded Architecture.
- Add armv7 here.
Follow the steps as shown in the image below:

Issue: Failed to archive Flutter iOS project due to compilation error.
Reason: When an application is archived, it compiles all the source code without checking the device compatibility first. This issue is a result of EnableX iOS plugin not supporting the simulator.

Solution: To fix this issue, simply delete armv7 from the valid architect. Follow the steps as shown in the image below:

Error: Linking of libraries fails during compilation in React Native application on Android
Reason: After the Maven shutdown, the EnableX plugin, socket.io, and webRTC plugin need to be added manually.
Solution:
- Go to the Android folder -> app level
build.gradle
and add the following:
implementation 'org.webrtc:google-webrtc:1.0.32006' implementation('io.socket:socket.io-client:1.0.0') { exclude group: 'org.json', module: 'json' }
- Move the project to AndroidX.
Error: Linking of libraries fails during compilation in React Native application on iOS
Reason: If use_frameworks!
is not defined in the pod library, you get EnableX/Socket.io linking of library failed or library image not found error.
Solution: In react-native V -0.60, the auto-linking process is not available for iOS. The app developer needs to install the POD library by entering the name of the required library (static/non-static) in the pod app target section. EnableX react-native library and Socket.io library are non-static libraries and they require use_frameworks!
inside Podfile in the app target section.
Pod installation without auto-linking:
In Podfile - > target 'SampleApp' do use_frameworks! # Pods for 'SampleApp' pod 'enx-rtc-react-native', :path => '../../ios/RNEnxRtc.podspec'

With Auto-Linking Library:

Issue: Video gone blank
This could be due to insufficient bandwidth available to carry out a video call. EnableX implements the Automatic Bandwidth Detection feature to ensure call connectivity in low bandwidth situations. When the bandwidth drops below the minimum requirement to carry out a video call, the call automatically switches to Audio-only mode.
Back to IndexError: Receiving “media access denied” error
The error indicates that your application/browser is unable to access media devices (camera/mic). This could be due to the following reasons:
- The device is being used by another application/browser.
- The user has denied permission to access the devices when prompted by the application/browser.
- The user has previously declined permission to EnableX Video to access the media devices and saved the settings for this application. In this case, you should find the camera icon crossed out or disabled. You can check browser settings for your domain and grant access.
Issue: Application-Sharing not working smoothly
You can either choose to share your entire desktop using screen-sharing or you can share a particular application using application-sharing.
Application sharing depends on the browser capabilities to a great extent hence depending on your browser the application sharing experience might vary. If you face difficulty using application sharing on a particular browser, then it is advisable to discontinue screen-sharing on the existing browser and try again on a different browser.
Back to IndexError: Receiving “TLS Handshake Failed” error on executing the application
The error indicates that the SSL certificate of the target you’re connecting to isn’t considered valid by your Java instance’s Keystore. This could be because either the CA chain couldn’t be validated or your Java version doesn’t have the support for SNI extension of TLS.
Verify the support matrix of our SSL cert at:
Refer to the following posts for more information on how to enable SNI:
- http://javabreaks.blogspot.com/2015/12/java-ssl-handshake-with-server-name.html
- https://www.ibm.com/support/knowledgecenter/en/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/sni_extension.html
In case of a CA Chain issue, you need to import Root CA certs in your Keystore.
key tool -import -alias root -keystore server.keystore -trustcacerts -file <root certificate>
Reference:
Back to IndexIssue: No Audio/Video after being connected to the Room
If you are unable to see a video or listen to anyone in the Room, then you are either not getting the list of active talkers in the Room or have failed to subscribe to a remote stream in the Room.
- Refer to Handle Active Talkers for more details.
- Refer to Subscribe Remote Streams for more details.
Error: Receiving “Permission Denied” error on trying to join a room
The Browser needs access to Microphone and/or Camera to create an Audio/Video Stream. Therefore, the user is prompted to grant permission to access the Media Devices. If the Browser fails to get access to Media Devices, it shows a “Permission Denied” error.
If the user has not declined permission to access media devices, then it is worth checking if the user has previously declined permission to EnableX Video to access the media devices and saved the settings for this application. In this case, you will find the camera icon crossed out or disabled. You can check browser settings for your domain and grant access.
Back to IndexHow can I see live error logs?
You can analyse the video call or view live errors in the following ways:
- Review logs, status live in a call by looking up chrome://webrtc-internals in the browser. Refer to WebRTC internals stats for more details.
- Check Browser Console Log. Make a Right-Click on the Web Page, click Inspect, and then go to the Console tab. You can see running logs and errors there.
- Go to Portal Dashboard which shows many live details and error notifications.
I am getting “X” error code when I run my code. What does it mean?
For details on the Server API Error Codes, refer to the Result Codes for Server API here.
For details on the Client API Error Codes, refer to the respective API/Event responsible for the error.
The complete Client API documentation is available here.
Back to IndexAre you facing any problem with EnableX?
Write to us about any challenges you may face to understand and to implement EnableX with your Application. EnableX Customer Support Team would help you at the earliest.