---
title: Prepare your Android and iOS App for Automated Testing
description: How to prepare your iOS and Android apps for Automated Testing with Appium.
source_url:
  html: https://testingbot.com/support/app-automate/help/prepare
  md: https://testingbot.com/support/app-automate/help/prepare/index.md
---
# Prepare your Mobile App for Automated Testing

TestingBot provides Android Emulators and iOS Simulators as well as [Real Devices](https://testingbot.com/support/app-automate/devices) to run tests against your mobile app.

Below are the steps necessary to prepare your mobile app for Automated Testing.

## Building your app

You do not need to install any code or plugin to run a test.   
 Below are some things that are necessary to successfully run a mobile test:

### For Android:

- Please supply the URL to your `.apk` or `.aab` file.   
**Important:** the .apk file needs to be compiled for the emulator/device you are running your test on (x86 or arm).
- Your app needs to have internet permissions
- The URL to the `.apk` file must be publicly available, or you can use our [TestingBot Storage](https://testingbot.com/support/app-automate/help/upload) to temporarily host your mobile app.

### For iOS (Real Device):

- Please supply the URL to an [.ipa file](https://testingbot.com#ipa). The URL must be publicly available, or you can use our [TestingBot Storage](https://testingbot.com/support/app-automate/help/upload) to temporarily host your mobile app.
- By default, we [automatically resign](https://testingbot.com/support/app-automate/help/app-resigning) your [.ipa file](https://testingbot.com#ipa) so that your development builds can run on our devices.  
If you don't want this, specify `resigningEnabled: false` in your `tb:options` capabilities.
- Please make sure your target version matches the version of the simulator you want to test on.

### For iOS (Simulator):

- Please supply the URL to a .zip file that contains your .app
- The .app needs to be an iOS Simulator build:   

  - Create a Simulator build:  

    xcodebuild -sdk iphonesimulator -configuration Debug

  - Zip the .app bundle:  

    zip -r MyApp.zip MyApp.app

- Please make sure your target version matches the version of the simulator you want to test on.

## Building IPA file

To build an IPA file, please follow these steps:

- Open your project in XCode.
- Select **Generic iOS Device** as a project device target.
- In the **Product** menu, select **Archive**.
- Once archived, click **Export**.
- You will be asked what kind of export mode you want, you can pick any of these methods: **Ad Hoc** , **Enterprise** or **Development mode**.
- When asked for **Distribution options** , please set these options: 
  - App Thinning: disabled
  - Uncheck **Rebuild from Bitcode**
  - Uncheck **Strip Swift Symbols**
  - Uncheck **Include manifest for over-the-air installation**

- Select your **Distribution Certificate** and **Provisioning Profile (either Automatic or Manual)**.
- Now your `IPA` file should be generated, export it to a folder on your hard disk.
- You can now upload the `IPA` file to a public URL or use our [TestingBot Storage](https://testingbot.com/support/app-automate/help/upload) to temporarily host your app.

### Looking for more help?

Have questions or need more information? Reach out via email or Slack.

[Email us](https://testingbot.com/contact/new)[Slack Join our Slack](https://join.slack.com/t/testingb0t/shared_invite/zt-3bcw9xch-jk19~6XPs_xBrsAgAedkCw)
