Troubleshooting Mobile Builds

Learn how to troubleshoot errors with iOS and Android mobile app builds.

VM Configuration Considerations

iOS VMs

  • The build should be a .zip file with the .app file included.
  • The build should be compiled for x86.
  • The following line in the app logs indicates that an app was not build to run in the simulators:

    Program specified by service does not contain one of the requested architectures.

  • When creating the .app file, the user must include the -sdk iphonesimulator parameter in the Xcodebuild command.
  • Test your .app locally by dragging and dropping the .app file onto your local Xcode simulator. If it does not work on your iOS simulator, it won’t work on ours.
  • If you need help with Xcodebuild, check out Apple’s documentation.

Android VMs

  • The build should be a .apk or .aab file.
  • The build should be compiled to run on x86.

The Run Fails with “Couldn’t download file…”

We recommend uploading the app via the CLI or directly in-app if possible. For more information, see:

This error occurs when the application fails to download from the provided direct download link. To resolve this:

  1. Ensure the test is pointing to an App Source and not a Site URL for all environments.
  2. Try downloading the app using only the specified App URL without a redirect or button click. Remember to provide any required credentials.
  3. Apps hosted on Dropbox should specify dl=1 as a query parameter on the App URL. Doing so forces the app to download.

The App URL Isn’t a Direct Download Link

The hosted file URL must be a direct download link. If it isn’t, Rainforest can’t install the app.

  • For Dropbox links, the App URL must end with dl=1. For more information, see this Dropbox help article.
  • If you still experience problems, try this workaround from TechApple.

The Run Fails with “Please check that your app is configured properly.”

This error occurs when it’s not possible to install or launch the app on the VM because the build isn’t configured correctly.

  • iOS. Make sure your app is set up as a .app file, not .ipa.
  • Android. Make sure the android .apkor .aab is compiled for x86, not ARM.

The Browser Displays, Not the App

If testers report that the browser shows instead of the app, the app crashed after launch. Search the app logs for the error event and watch the tester video.

The App Doesn’t Install on Android Real Devices

An Android test using a real device cannot install if it doesn’t support the Android version that’s on the device. The following error message appears when the app requires a newer Android version:

Requires newer sdk version X (current version is Y)

Testing Your iOS Build

If your application doesn’t run correctly on Rainforest’s VMs, we recommend you test it locally to ensure your app is configured to run in a simulator. Try the following code:

# list devices
xcrun simctl list
Ex: iPhone 7 (BCFE928E-1FFB-446B-A41C-288558412F0D) (Shutdown)

# open the simulator
open -a /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator --args -CurrentDeviceUDID BCFE928E-1FFB-446B-A41C-288558412F0D

# install .app`
# xcrun simctl install
xcrun simctl install BCFE928E-1FFB-446B-A41C-288558412F0D /tmp/Example.app

# get bundle ID
osascript -e ‘id of app “/tmp/Example.app”‘
# Ex: com.rainforestqa.ExampleApp

# launch app
#xcrun simctl launch
xcrun simctl launch BCFE928E-1FFB-446B-A41C-288558412F0D
com.rainforestqa.ExampleApp

# terminate app
xcrun simctl terminate BCFE928E-1FFB-446B-A41C-288558412F0D
com.rainforestqa.ExampleApp

# uninstall app
xcrun simctl uninstall BCFE928E-1FFB-446B-A41C-288558412F0D
com.rainforestqa.ExampleApp

# shutdown the simulator
xcrun simctl shutdown BCFE928E-1FFB-446B-A41C-288558412F0D

Whitelist the Rainforest IP Addresses

Rainforest testers come from various IP addresses, and secure test environments often block testers from reaching your site. To avoid this problem, whitelist the IP addresses. For more information, see Which IP Addresses Do Rainforest Tests Come From?.


If you have any questions, reach out to us at [email protected].