Skip to main content

Publish to Apple App Store

Overview

In this guide, you can learn about how you can publish your app on the App Store. To do this, you need to undertake the following:

  • Generate the iOS distribution certificate (certificate.p12 file).
  • Generate a new Distribution Provisioning Profile (.mobileprovision file) for App Store in the Apple Developer Portal.
  • Securely share these certificates, your Bundle ID and your Team ID with Signicat.

How to publish your app

1. Generate an iOS distribution certificate

To generate an iOS distribution certificate (certificate.p12 file):

  1. In the Apple Developer portal, navigate to the Certificates, IDs and Profiles section, then click Certificates.
  2. On the Certificates page, click the circular + (add) button.
  3. Under the Software section, select Developer ID, then click the Continue button.
  4. You now need to create a certificate signing request (CSR). To do this:
    1. Launch Keychain Access located in /Applications/Utilities.
    2. From the top toolbar, click Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority. This will open the Certificate Assistant dialogue.
    3. In the User Email Address field, enter an email address.
    4. In the Common Name field, enter a name for the key. For example, Gita Kumar Dev Key.
    5. Leave the CA Email Address field empty.
    6. In the Request is: section, select Saved to disk, then click the Continue button.
  5. Return to the Create a new certificate page in the Apple Developer portal, then click Choose File.
  6. In the dialogue that appears, select the certificate request file, then click Upload.
    What does this look like?

    This file will have a .certSigningRequest file extension.

  7. Click the Continue button.
  8. Click the Download button.
  9. Double-click it to add it to your Keychain.
  10. In Keychain Access, find your new certificate. Right-click it, then click Export.
  11. In the save dialog, choose .p12 as the file format. Set a password when you save.

2. Create an App ID

To create an App ID:

  1. Go to the Apple Developer Portal.
  2. In the left-side menu, select Identifiers.
  3. Click the + (add) button.
  4. Select App IDs, then click Continue.
  5. Choose App as the type, then click Continue again.
  6. Complete the following fields:
    • Description: For example, your app name.
    • Bundle ID: For example com.company.appname. This must match your Xcode project's Bundle Identifier.
  7. Under Capabilities, ensure that you enable the following:
    • Access Wi-Fi Information
    • Push Notifications
  8. Click Continue, then Register.

3. Create a Distribution Provisioning Profile

To create a Distribution Provisioning Profile (.mobileprovision file) for App Store Connect distribution:

  1. In the Apple Developer portal, navigate to the Certificates, IDs and Profiles section, then click Profiles.
  2. On the Profiles page, click the circular + (add) button.
  3. Under the Development section, select the type of provisioning profile that you want to create, then click the Continue button.
  4. Using the dropdown menu, select the App ID that you want to use for development, then click the Continue button.
  5. Using the radio buttons, select one or more development certificates, then click the Continue button.
  6. Select one or more devices, then click the Continue button.
  7. In the Provisioning Profile Name field, enter a profile name, then click the Generate button.
  8. Click the Download button.
Want to learn more?

To learn more about these steps, you can refer to the Apple developer documentation:

4. Send the certificates to Signicat

Next, you need to securely share the Distribution Provisioning Profile (.mobileprovision file), iOS distribution certificate (certificate.p12 file), your Team ID and your Bundle ID with Signicat. To do this:

  1. In the Signicat Dashboard, navigate to the Contact Us service.
  2. Create a new support ticket, where you share the following files from Step 1 and Step 3:
    • certificate.p12 file
    • .mobileprovision file
  3. Add your Team ID, Bundle ID and certificate.p12 file password to the support ticket.

5. Shield and distribute

Note

These steps are undertaken by Signicat. This means that they do not require any action from you.

  1. Once we have received your support ticket, we will build the app with your certificates.
  2. We will shield the app.
  3. We will distribute the app to you by uploading it to our Nexus repository.

6. Upload the shielded app

You need to upload the shielded app. To do this for iOS, you must upload the .ipa file to App Store using the Transporter application on a Mac.

Encryption algorithm

When uploading an app to the Apple App Store, you are asked what encryption algorithm the app implements.

The Encap SDK only uses standard encryption algorithms. It does not use any proprietary encryption algorithms that are not accepted by international standards.

We use encryption provided both from within the Apple operating system, and from our third-party dependency OpenSSL.

When presented with the App Encryption Documentation dialog box, select option Standard encryption algorithms instead of, or in addition to, using or accessing the encryption within Apple's operating system.

Want to learn more?

To learn more about our encryption and Apple requirements, see our Apple export compliance requirements page.

7. Submit the app for review

Finally, you need to send your build to review for Apple. Ensure that you fulfil the requirements below before you submit the app:

  1. You must have a Privacy Policy URL.
    • Apple needs a privacy policy that is owned by your business.
    • You cannot use Signicat's privacy policy in this section.
  2. If your app is not going to be available for distribution in France, then it is important to remove France from App Store Connect. To do this, go to Monetization > Pricing and Availability.
    Tip

    If you are not planning to distribute the app in France, then you can let us know about this beforehand.

    Apple allows this information to be specified in your app's Info.plist, which means that we can add that information to bypass these questions and streamline the submission process.

    To learn more about this, see Complying with Encryption Export Regulations in the Apple developer documentation.

  3. You need to declare the collected data types. To do this:
    1. Go to Trust & Safety > App Privacy.
    2. Click Edit on Data Types, then select Yes, we collect data from this app.
    3. On the next screen, pick the following from the list:
      • Location > Precise Location
      • Diagnostics > Other Diagnostic Data
      • Other Data
    4. Select App Functionality and No, data collected from this app is not linked to the user's identity.