How to Generate iOS Signing Certificates and Provisioning Profiles on Windows Without Xcode

Before compiling and signing an iOS app, you usually need to complete three steps in order: register a Bundle ID → issue a signing certificate → generate a provisioning profile. The official route is to log in to developer.apple.com and do it manually, or let Xcode handle it automatically—both assume you have a Mac. With AppUploader, these three steps can be done directly on a Windows PC.

Step 1: Register a Bundle ID

A Bundle ID is an App ID. Each app needs a unique identifier and cannot duplicate another developer’s.

  1. Open the ‘Bundle ID’ page and click ‘New Bundle ID’.
  2. Enter the Identifier: use reverse-domain-name format (e.g., com.yourcompany.appname). It can contain only letters, numbers, hyphens, and periods, and must end with a letter or number. It cannot be changed after creation.
  3. Enter a name (the app name) and submit to complete registration.
  4. If the app needs specific capabilities (Push Notifications, App Groups, iCloud, etc.), go to the ‘Capabilities’ page for that Bundle ID, search for and check them, and save. This will be submitted to the Apple portal and take effect.

Step 2: Issue a Signing Certificate

  1. Open the ‘Certificates’ page, click ‘New Certificate’, and choose the certificate type (development signing certificate or distribution signing certificate, depending on whether you want to generate a development or App Store provisioning profile).
  2. Select the identifier to bind (the Bundle ID / App ID registered in the previous step).
  3. Enter the certificate name and email, and set a .p12 protection password—the server does not store this password, so keep it safe. If you forget it, the private key will no longer be usable.
  4. Optionally enable ‘Sync certificate with AppUploader service’ (cloud backup). You can then re-download this certificate on any computer, without having to use the same machine every time.
  5. After submission, the certificate is issued by Apple.

For free accounts not enrolled in the Apple Developer Program, the certificate is valid for only 7 days and must be reissued after expiration.

Step 3: Generate a Provisioning Profile

  1. Open the ‘Provisioning Profiles’ page, click ‘New Provisioning Profile’, and enter a name.
  2. Choose the type: Development is used to install development builds on test devices; App Store distribution is used for submitting for review; Ad Hoc is used to distribute test builds to a limited number of registered devices.
  3. Select the associated Bundle ID (the one registered in Step 1).
  4. Select the associated certificate(s) (you can select multiple or choose ‘All Certificates’). If it is a distribution type that requires devices (such as Ad Hoc), you also need to select the associated test devices. If you have no devices, you can click ‘Register Device’ and scan a QR code with your phone to register.
  5. After submission, the provisioning profile is created. You can download the .mobileprovision file from the list and give it to your build tool (Flutter/Unity/custom signing scripts, etc.) for signing.

Ongoing Maintenance

  • If the capability configuration of a Bundle ID changes, provisioning profiles that depend on it will become invalid. You can click ‘Rebuild’ to automatically regenerate them with the currently valid certificate and devices, without repeating the three steps above.
  • Certificates and provisioning profiles can both be searched by name/type, making it easy to manage multiple certificate sets for multiple apps.

Once all three steps are complete, you can submit the signed IPA to the App Store directly in the same tool. The entire process does not require a Mac. Visit https://appuploader.net for details.