Skip to main content
Capwrapper’s iOS support is currently in public beta (available from v2.0.0). Starting with v2.1.0, you can submit directly to TestFlight from the Capwrapper dashboard without needing Xcode or Transporter. For production App Store releases, you use App Store Connect in the same way you would with any IPA built outside of Capwrapper.
iOS builds are in public beta as of v2.0.0. Direct TestFlight submission from the Capwrapper dashboard was added in v2.1.0. If you are on an earlier version, upload your IPA using Apple’s Transporter app or Xcode Organizer instead.

What you need before you start

  • An Apple Developer account — $99/year
  • Access to App Store Connect
  • A distribution certificate created in the Apple Developer portal
  • A provisioning profile tied to your App ID and distribution certificate
  • A signed IPA file downloaded from your Capwrapper dashboard
You supply your distribution certificate and provisioning profile when configuring your Capwrapper build under Configuration > iOS Signing. Capwrapper embeds them during the cloud build so the resulting IPA is ready for submission.

Two paths to users

TestFlight lets you distribute your app to internal testers (up to 100 people in your Apple Developer team) or external testers (up to 10,000 people with a shorter review process) before submitting for public release. It is the fastest way to validate a build on real devices.If you are on Capwrapper v2.1.0 or later, you can submit directly to TestFlight from your dashboard after the build completes. For earlier versions, use Transporter or Xcode Organizer to upload the IPA.
Always run your app through TestFlight with a group of real testers before submitting to the App Store. Catching crashes or broken functionality at this stage avoids the cost of a full Apple review cycle.

Submit to the App Store

1

Create an App ID

In the Apple Developer portal, go to Certificates, Identifiers & Profiles > Identifiers and register a new App ID. Use the same bundle ID (packageId) that you set in your Capwrapper build config. Enable any capabilities your app needs (Push Notifications, Sign in with Apple, etc.) here.
2

Create a new app in App Store Connect

Go to appstoreconnect.apple.com, click My Apps, then the + button to create a new app. Select iOS, enter your app name, primary language, the Bundle ID you just registered, and an SKU. Click Create.
3

Fill in app metadata

Under the App Store tab, complete the required fields:
  • App name and subtitle
  • Description (up to 4,000 characters)
  • Keywords (up to 100 characters, comma-separated)
  • Support URL and marketing URL
  • Privacy policy URL (required for all apps)
  • Screenshots for every required device size (iPhone 6.9”, 6.5”, and 5.5” as a minimum)
  • Category and age rating
4

Upload your IPA

After your build completes, click Submit to TestFlight in your Capwrapper dashboard. Capwrapper uploads the IPA directly to App Store Connect using your credentials. The build will appear under TestFlight within a few minutes once Apple finishes processing.
5

Select the build and submit for review

Back in App Store Connect, go to your app’s App Store tab. Under the Build section, click the + button and select the build you just uploaded. Once all required metadata is complete and the build is attached, click Submit for Review.
6

Wait for Apple review

Apple typically reviews new app submissions within 1–2 business days. You will receive an email when the review is complete. If rejected, Apple provides specific feedback you can address before resubmitting.

Common rejection reasons

ReasonHow to avoid it
Missing privacy policyEvery app must link to a privacy policy, even if you only collect crash data. Provide a publicly accessible URL in both App Store Connect and within the app itself
App crashes or has broken functionalityTest thoroughly on TestFlight with real devices before submitting. Apple reviewers test the app manually and will reject it if they encounter crashes
Misleading metadataYour app name, description, screenshots, and keywords must accurately represent what the app does. Do not include competitor names or unrelated keywords
Missing required device screenshotsApple requires screenshots for specific device sizes. Check the current requirements in App Store Connect — at minimum you need iPhone 6.9”, 6.5”, and 5.5” screenshots
Use of private or restricted APIsCapwrapper only uses public Apple APIs, but if your web app calls native bridges that require special entitlements, ensure those are declared in your provisioning profile