Cordova SDK Troubleshooting
Important
Visual Studio App Center is scheduled for retirement on March 31, 2025. While you can continue to use Visual Studio App Center until it is fully retired, there are several recommended alternatives that you may consider migrating to.
Failed to install plugin - pod command failed with exit code 1
After updating to the latest plugin version, chances are you'll see the following error message during cordova plugin add cordova-plugin-appcenter-<module>
:
Installing "cordova-plugin-appcenter-shared" for ios
Failed to install 'cordova-plugin-appcenter-shared': Error: pod: Command failed with exit code 1
In 0.3.0
, we dropped iOS 8 support. The issue with this is that the 4.5.5
version of cordova-ios
targeted iOS 9.0
by default, but used iOS 8.0
in the podfile. The problem is fixed with cordova-ios 5.0.0
.
There are two options:
cordova platform add ios@5.0.0
- If you want to stay on an older cordova version, go to
platforms
>ios
, openPodfile
and changeplatform :ios, '8.0'
toplatform :ios, '9.0'
. Then runpod install
.
Failed to install 'cordova-plugin-appcenter-shared': undefined
One possible cause of this error is when running cordova plugin add cordova-plugin-appcenter-<module>
without CocoaPods installed.
In this case, the error usually includes this line:
Error: CocoaPods was not found. Please install version 1.0.1 or greater from https://cocoapods.org/
If you see this line, run:
sudo gem install cocoapods
pod setup
CocoaPods could not find compatible versions for pod "AppCenter"
If you see the following error message during cordova plugin add cordova-plugin-appcenter-<module>
, chances are your local clone (~/.cocoapods/repos
on your system) of the CocoaPods spec repo isn't up to date.
CocoaPods could not find compatible versions for pod "AppCenter":
In Podfile:
AppCenter (~> 1.12.0)
Run pod repo update
to update the spec repo, and try adding the plugin again. For more information on CocoaPods commands, see the CocoaPods command line reference.
Module 'AppCenter' not found iOS build error
If you see the following error message during cordova build ios
, it means that something went wrong with CocoaPods installation:
.../cordova-plugin-appcenter-shared/AppCenterShared.h:3:9: fatal error: module 'AppCenter' not found
@import AppCenter;
~~~~~~~^~~~~~~~~
1 error generated.
One possible cause is that your local clone (~/.cocoapods/repos
on your machine) of the CocoaPods spec repo isn't up to date.
Run pod repo update
to update the spec repo, and try adding plugin again. For more information on CocoaPods commands, see the CocoaPods command line reference.
Archive not found at path iOS build error
If you see the following error message during cordova build ios
, you must switch to the legacy build system.
error: archive not found at path '.../platforms/ios/MyApp.xcarchive'
** EXPORT FAILED **
To resolve this issue, specify --buildFlag="-UseModernBuildSystem=0"
when running build. The solution is also described in this StackOverflow thread.
Could not find method google() for arguments [] on repository container Android build error
If you see the following error message during cordova build android
, chances are your cordova-android
version is too low.
FAILURE: Build failed with an exception.
* Where:
Script '.../cordova/platforms/android/cordova-plugin-appcenter-*/*.gradle' line: 3
* What went wrong:
A problem occurred evaluating script.
> Could not find method google() for arguments [] on repository container.
Update cordova-android
to at least 6.4.0
. You can run cordova platform update android
to update the platform to the latest version or cordova platform add android@6.4.0
to use the exact version.
Analytics not showing up in the portal
Make sure you've added this line to your configuration file:
<preference name="APPCENTER_ANALYTICS_ENABLE_IN_JS" value="true" />
By default this value is false
.
Protect the App Center secret value
The app_secret
is an identifier of your app, it's required to know which app the traffic applies to and it can not be used to retrieve or edit existing data. If your app_secret
is exposed, the biggest risk is sending bad data to your app, but it won't have an effect on the security of the data.
To retrieve any sensitive data, you'd need to provide an app/user token, which is generated on the client’s side. There's no way to make data on the client's side completely secure.
You can improve your app's security by using an environment variable to inject the app secret into your code. That way, the secret isn't visible in your code.