Skip to main content
If you’re new to Capwrapper or running into a snag mid-build, you’re in the right place. The questions below cover the most common setup and publishing topics — from what kinds of web apps you can wrap, to what to do when a build fails.
Any web app with a public HTTPS URL. Capwrapper supports React, Vue, Angular, plain HTML, Webflow, WordPress, Base44, Bolt, Lovable, v0, and any Vercel-hosted app. If your app loads in a standard browser, Capwrapper can wrap it.
Private or localhost URLs are not supported. Your app must be publicly accessible over HTTPS before you start a build.
Android builds typically complete in under 2 minutes. iOS builds are currently in public beta and may take slightly longer depending on load. You’ll receive a notification in the dashboard when your build is ready to download.
If your build is taking longer than expected, check your dashboard for a status update. Build times can vary during periods of high demand.
Not for testing. Capwrapper auto-generates a debug keystore if you don’t provide one, which is fine for local testing and internal distribution.However, you must supply your own keystore to publish on the Google Play Store. Generate one with the following command:
keytool -genkey -v -keystore my-release-key.jks -alias mykey -keyalg RSA -keysize 2048 -validity 10000
Keep your keystore file and password in a safe place. If you lose your keystore, you will not be able to update your existing Play Store listing — you would need to publish as a new app.
Your Bundle ID is your app’s unique identifier in reverse domain notation — for example, com.yourcompany.appname. It ties your app to its store listing on Google Play and the Apple App Store.
Your Bundle ID is permanent. Once you publish an app under a given Bundle ID, you cannot change it without creating a brand-new store listing. Choose it carefully before your first production release.
Use all lowercase letters, separate segments with dots, and avoid spaces or special characters. A valid example: com.acme.invoicetracker.
Apple requires every iOS app to be signed with credentials from an Apple Developer account before it can run on a real device or be distributed via the App Store or TestFlight.To build an iOS IPA with Capwrapper, you need:
  • An Apple Developer account ($99/year)
  • A distribution certificate from App Store Connect
  • A provisioning profile from App Store Connect
These requirements come from Apple, not Capwrapper. Providing these credentials allows Capwrapper to sign your IPA on your behalf so it can be distributed through official Apple channels.
iOS support is currently in public beta. See the changelog for the latest iOS updates.
Yes, and how you update depends on what changed.Web content only — If you updated your website (copy, styles, features), users will see the new content automatically the next time they open the app, since the app loads your live URL. No new build is needed.Native shell changes — If you need to update permissions, the app icon, the splash screen, or the version number, create a new Capwrapper build with a higher version number and submit it to the store.
Use the NativeOTA bridge to push web content updates without submitting a new build to the app store. This is useful for urgent fixes that don’t involve native configuration changes.
Every Capwrapper build includes 40 native bridges at no extra cost. You enable them in the dashboard — no code or plugins to configure.Bridges are organized into these categories:
CategoryExamples
CoreOver-the-air updates, offline caching, deep links
Auth & SecurityBiometrics, passkeys, social login
Device AccessGPS, contacts, calendar, health data
Media & ScanningCamera, QR/barcode scanner, document scanner, file upload
UI & NavigationNative tab bar, sidebar, search, onboarding
EngagementPush notifications, in-app purchases, ads, ratings
Data & StorageEncrypted storage, file download, Firebase Analytics
Maps & LocationOpen addresses, get directions
SpecializedVoice input, BLE beacon scanning, share extensions
Start by checking the build log in your dashboard — it will show the specific error message.The most common causes are:
  • URL not accessible — Your app URL must be publicly reachable over HTTPS. Test it in an incognito browser window.
  • Invalid Bundle ID — Must be lowercase, use reverse domain notation, and contain no spaces (e.g., com.yourcompany.appname).
  • Missing or invalid keystore — Required for Play Store builds. Confirm your keystore alias and password are correct.
  • Version number not incremented — If you’re re-submitting to a store, your new version number must be higher than the previously submitted version.
If you’ve checked the log and the issue persists, contact support at capwrapper.com/support.
No. Capwrapper handles all native code for you. You interact with native features — camera, GPS, push notifications, and the rest — through JavaScript bridges that you call from your existing web app. There is no Xcode, no Android Studio, and no platform-specific SDK knowledge required.
Capwrapper supports both major mobile platforms:
  • Android — Produces a signed APK (for direct distribution) and a signed AAB (required for Google Play Store submission). Google Play requires a one-time $25 developer account fee.
  • iOS — Produces a signed IPA for App Store distribution and TestFlight beta testing. iOS support is currently in public beta. An Apple Developer account ($99/year) is required.
Didn’t find your answer? Reach out to the support team at capwrapper.com/support.