Troubleshooting Upload Failures
Upload failures in TestApp.io typically fall into three stages: errors caught before the upload begins, interruptions during transfer, and processing failures after the file is received. This guide walks through each stage with specific error messages and fixes.
Stage 1. Pre-Upload Errors
These errors are caught immediately and displayed before any file transfer starts.
Missing API Token or App ID
If the CLI reports that your credentials are invalid or missing:
- Log in to portal.testapp.io.
- Copy your API Token from Profile → API Tokens.
- Copy your App ID from the app itself: open the app, then Integrations → Release → TestApp.io CLI → View Setup.
- Update your workflow config or CI/CD environment variables with the correct values.
File Not Found
The CLI reports it cannot locate the file at the specified path. To resolve:
- Verify the file path in your workflow config points to the actual built artifact (IPA or APK).
- In CI/CD pipelines, confirm the path is relative to the workspace root.
- Confirm the build step produces the file at the expected location before the upload step runs.
File Exceeds Plan Size Limit
Your file is larger than the upload size allowed on your current plan. Options:
- Archive older releases to free up space.
- Upgrade your plan at testapp.io/pricing.
Storage Quota Exceeded
Your team has reached its total storage limit. Options:
- Archive older releases from the portal.
- Upgrade your plan or connect external storage.
Bundle ID Mismatch
The bundle ID embedded in the IPA or APK must exactly match the bundle ID registered in TestApp.io. Check the app's settings in the portal and confirm your build configuration uses the same bundle identifier.
Duplicate Version Code
You cannot upload two releases with the same version code or build number. Increment the version code (Android) or build number (iOS) and rebuild before uploading.
IPA Signed with an App Store Certificate
Rebuild from Xcode using an Ad-Hoc or Enterprise export option.
Expired Provisioning Profile
Regenerate the profile in the Apple Developer portal, embed it in your Xcode project, and rebuild.
Simulator Build Uploaded
Stage 2. Upload / Network Issues
Network Interruption
If it still fails, the error names the release that was created before the upload started. Running the command again creates a new release, so you may want to archive the empty one in the portal. Also make sure the upload is not being blocked by a firewall or proxy.
Upload Takes Longer Than 2 Hours
ta-cli stops an upload that takes longer than 2 hours in total and says how much the server had received. For very large files on a slow connection, raise the limit with --upload_timeout=4h or the environment variable TESTAPPIO_UPLOAD_TIMEOUT (works with Fastlane and the GitHub Action too). 0 turns the limit off. See Upload time limit in the ta-cli guide.
Uploading via the Portal. Keep the Tab Open
Proxy, VPN, or Corporate Firewall
Some corporate proxies and VPNs interfere with large file uploads. If uploads consistently stall or fail midway:
- Try uploading from a different network (e.g., mobile hotspot).
- Temporarily disable your VPN and retry.
- If the issue only occurs in CI/CD, check whether your build agent routes outbound traffic through a proxy and configure the CLI to bypass it if needed.
Stage 3. Post-Upload Processing Failures
The file was received successfully, but processing failed. The release shows as 'failed' or never appears in the portal.
IPA: Provisioning Profile Not Found
The most common causes:
- A simulator build was uploaded instead of a device build.
- The IPA was re-signed with a third-party tool that altered the file structure.
IPA: Info.plist Not Found
The IPA is corrupt or is not a valid iOS app archive. Rebuild from scratch and upload again. If the error persists, verify that the exported IPA is a standard Apple IPA format (a ZIP containing a Payload/ directory).
APK: AndroidManifest.xml Not Found
The APK is corrupt or is not a valid Android package. Rebuild from your Android project and upload a freshly generated APK.
File Size Mismatch
Ensure no build process is writing to the same file during upload, and try again.
CI/CD Pipeline Tips
- Refresh your API token if your pipeline has been idle. tokens can be revoked from Profile → API Tokens in the portal.
- Keep ta-cli up to date. If the output says "New version available" or "Update necessary due to breaking changes", see How to update.
- Fastlane users: keep the
testappioplugin up-to-date by runningbundle update fastlane-plugin-testappioin your project directory. - GitHub Actions users: use
testappio/github-action@v5. Older versions (@v3,@v4) install an old ta-cli. - Correct App ID: Use the App ID for the specific app you are targeting. It is easy to accidentally use a staging app ID in a production pipeline or vice versa.
- Release notes length: the
--release_notesfield has a 1,200-character limit. Truncate longer notes before passing them to the CLI.
Related Articles
Need help? Contact us. we're happy to assist!