iOS build guide
iOS setup and signing
Our Mac compiles the IPA. The signing configuration determines where it can be distributed. Use this checklist before uploading certificates or spending build credits.
Content reviewed · Not a new device-test result
Before you start
- 01
Prepare the project
- For a website wrap, use a working HTTPS URL, an app name and an app icon.
- The built-in website wrapper targets iOS 15 or later. Check the recipient device before choosing a distribution method.
- Choose a stable reverse-domain Bundle ID, such as com.example.app. Use the identifier belonging to the existing app when you intend to update it.
- The current IPA workflow uses a server-generated website wrapper. Uploaded iOS/macOS source, including Flutter or Xcode projects, is not accepted. Paid Android source compilation is a different workflow.
- 02
Choose your signing path
- The default download is an unsigned IPA. You arrange a signing and distribution workflow outside Code2Native.
- Optional cloud signing requires an active Pro subscription. An App license or Builder subscription does not unlock the certificate-upload feature.
- If you only need a home-screen shortcut to a website, a Web Clip does not require IPA compilation. It is not an App Store app.
- 03
Prepare signing files for Pro cloud signing
- Export a valid Apple signing certificate together with its private key as a password-protected .p12.
- Create a provisioning profile matching the certificate, Apple team, Bundle ID, entitlements and intended distribution method.
- Upload files through the project's signing settings, never by email or chat. Keep an independent, secure backup of your signing assets.
- Resolve expiry, profile mismatch and missing-private-key errors before starting another build. We do not need your Apple ID or App Store Connect password.
- 04
Inspect and test the result
- Read the build's signing status and export method. Do not infer signing from the .ipa extension or a successful compile.
- Use the distribution channel allowed by that profile. Development and ad-hoc builds have device restrictions; enterprise distribution has separate eligibility requirements.
- For TestFlight or the App Store, use a correctly signed App Store export and your own App Store Connect app record. Apple's upload validation and review are additional steps.
- Test authentication, checkout, file upload, permissions and navigation on the intended devices. A native toolbar or splash screen does not guarantee minimum-functionality approval.
What each successful check proves
- Compiled
- An IPA artifact and a successful build log.An unsigned IPA is not directly installable through normal distribution channels.
- Signed
- Verified signing metadata, matching profile, Bundle ID and entitlements.A valid signature alone does not determine where the IPA may be distributed.
- Installable
- The intended device or distribution channel accepts the IPA.Development and ad-hoc distribution have device restrictions; enterprise distribution has its own eligibility rules.
- Submittable
- An App Store export, your App Store Connect record and Apple upload validation.Apple review is separate. A wrapper, splash screen or native toolbar does not guarantee approval.
Signing questions
Do I receive a signed or unsigned IPA?
The default output is an unsigned IPA. Optional cloud signing requires an active Pro subscription, a valid Apple signing certificate with its private key (.p12), and a matching provisioning profile. An App license or Builder subscription allows eligible IPA builds, but does not unlock cloud signing. Check the signing status and export method on the completed build before distributing it.
Can I upload the IPA to TestFlight?
Only after it has been signed and exported for App Store distribution with the correct Bundle ID, certificate, profile and entitlements. A development, ad-hoc or enterprise IPA is not a TestFlight upload. You need your own Apple Developer membership and App Store Connect app record. Apple validates the upload and reviews distribution; a successful build does not guarantee acceptance.
Which plan do I need?
An App license is $69 once ($39 where regional pricing applies) for one website. Builder is $39/month and Pro is $99/month. Android source ZIP/git compiles require Builder or Pro; an App license covers a website wrap, not source compilation. Uploaded iOS source is not accepted: the current IPA workflow builds our server-generated website wrapper. IPA jobs spend bundled credits. Free is a marked Android Preview APK, not an IPA. Apple membership is separate.
What happens if a build fails or I cancel it?
Platform faults return the build credits charged. Customer source compile errors do not receive a refund. Configuration and unknown failures follow the rules for that build lane; check Billing for the actual credit return. If cancellation is accepted before a build reaches a terminal state, the credits actually charged for that build are returned. A completed build cannot be cancelled. Build-credit returns are separate from payment refunds.
Check the current Apple requirements
- Apple Developer enrollment and membership
- Create an App Store provisioning profile
- App Review: minimum functionality
- Our app review preparation guide
Need help interpreting an error? Contact [email protected] with the error and build reference. Do not include certificates, private keys, passwords or customer data.