Upload the .app from Xcode as a .zip
Every plan
Some build setups end with a signed .app folder, not an .ipa: Xcode build products, some CI exports, older scripts written for Diawi. Zip the .app and upload it; AppForShare puts it in the Payload folder of an .ipa for you.
Example
MyApp.zip
- FoundMyApp.app
- MadePayload/MyApp.app as .ipa
- File modes and linksKept
Made for
- Developers whose build ends with an .app folder
- Scripts moving from Diawi that upload a zipped .app
What it ends
- Making the Payload folder and zipping it again by hand
- An upload refused as an unknown file type
How it works
Step 1
Zip the .app
One .app folder at the top of the .zip, for example with ditto -c -k --keepParent MyApp.app MyApp.zip.
Step 2
Upload it
From the web upload box, the CLI, the CI API or the Diawi compatible API.
Step 3
Share the link
The build becomes an .ipa with its install link, like any iOS upload.
What is kept
File modes are kept, so the app binary stays executable, and links inside frameworks stay links. __MACOSX folders and .DS_Store files are dropped. A .zip that is already an .ipa (with Payload at the top) is used as it is.
Good to know
- One .app per .zip. A .zip with two apps, no app or no Info.plist is refused with a message.
- The app must already be signed Ad Hoc, Development or Enterprise. AppForShare does not sign or re-sign it.
- Your plan's file size limit applies to the .zip.
Questions
- Which plan do I need?
- None. It works on every plan, also without an account.
- Does it work for macOS apps?
- No. AppForShare shares iOS and Android builds for phones and tablets.
Read next
Try it on your own app
Free account in a minute. Pro starts with a 7 day free trial.
More features
- Builds on GitHub Actions
- iOS device registration
- Hands free device setup
- Store listing editor
- App Store submission
- Google Play releases
- TestFlight tester sync
- Tester app with notifications
- Tester groups and status
- Join links for testers
- Beta and Live channels
- Tasks and activity feed
- Feedback to Linear and Jira
- Release checklist and blockers
- Install link controls
- Several links per build
- Retire a test build
- TestFlight and APK in one link
- Install page in 13 languages
- In-app update check
- .aab uploads
- MCP server for AI tools
- Tester feedback with screenshots
- In-app feedback link
- AI test plan for each build
- Diawi compatible upload API
- Remember my iPhone
- Install help and why it failed
- Email the install link
- Custom channel address
- Verified publisher
- Daily install email