How to Make an iOS App

Complete step-by-step guide to convert your website into an iOS app and publish it to the App Store

Overview

Creating an iOS app with WebToApp.app is straightforward! Our guided setup process walks you through all the necessary steps to configure your app and prepare it for building. Follow this comprehensive guide to convert your website into an iOS app and publish it to the App Store.

Estimated Time

The entire process typically takes 5-7 days from start to publication, including:
  • Apple Developer enrollment: 1-3 days (identity validation)
  • Setup and configuration: 30-60 minutes
  • Build processing: 24-48 hours
  • App Store review: 1-3 days

Prerequisites

Before you begin, make sure you have:

  • A live, functioning website with a valid URL
  • An Apple ID (create one at appleid.apple.com if needed)
  • A WebToApp.app account with an active subscription
  • Access to a Mac computer (for generating certificates - optional if using our guided setup)

Step 1: Joining the Apple Developer Program

Before any technical configuration, you need an active Apple Developer account. This is the foundation for all iOS app development and distribution.

1.1 Create an Apple ID

If you don't have an Apple ID yet:

  1. Visit appleid.apple.com
  2. Click "Create Your Apple ID"
  3. Fill in your personal information
  4. Verify your email address
  5. Set up two-factor authentication (recommended for security)

1.2 Enroll in the Apple Developer Program

To publish apps on the App Store, you must enroll in the Apple Developer Program:

  1. Visit developer.apple.com/programs/
  2. Click "Enroll"
  3. Sign in with your Apple ID
  4. Complete the enrollment form with your information
  5. Pay the annual fee of $99 USD/EUR
  6. Submit required documentation (if requested)

Annual Cost

The Apple Developer Program costs approximately $99 USD/EUR per year. This is a requirement to publish apps on the App Store.

1.3 Wait for Identity Validation

After enrollment, Apple will validate your identity. This process may take a few days, especially for first-time enrollments. You'll receive email notifications about the status of your enrollment.

Important

Make sure you have completed enrollment and received confirmation from Apple before proceeding to the next step. You cannot create certificates or app identifiers until your enrollment is approved.

Step 2: Certificates and Identifiers

This stage takes place on the developer.apple.com portal and is crucial to ensure that your app is secure and belongs to you. These certificates and identifiers prove your app's authenticity to Apple and users.

2.1 Generate the CSR (Certificate Signing Request)

You'll need to generate a Certificate Signing Request on your Mac:

  1. On your Mac, open Keychain Access (found in Applications → Utilities)
  2. Go to Keychain Access → Certificate Assistant → Request a Certificate from a Certificate Authority
  3. Enter your email address and name
  4. Select "Saved to disk" (do not select "Let me specify key pair information")
  5. Click "Continue" and save the file to your disk

2.2 Create Certificates

In the Apple Developer portal, upload the CSR to create certificates:

  1. Go to Certificates, Identifiers & Profiles
  2. Click on "Certificates" in the left sidebar
  3. Click the "+" button to create a new certificate
  4. Select "Apple Development" certificate type (for testing)
  5. Upload your CSR file
  6. Download the certificate and install it on your Mac (double-click the .cer file)
  7. Repeat the process for "Apple Distribution" certificate (for App Store submission)

Tip

Download and install both Development and Distribution certificates on your Mac by double-clicking the downloaded .cer files. They will be automatically added to your Keychain.

2.3 Register the App ID

Create a unique identifier for your application. This will be your Bundle ID (e.g.,com.yourcompany.yourapp).

  1. In the Apple Developer portal, go to "Identifiers"
  2. Click the "+" button
  3. Select "App IDs" and click "Continue"
  4. Select "App" and click "Continue"
  5. Enter a description for your app
  6. Enter your Bundle ID: com.yourcompany.yourapp
  7. Select the capabilities your app needs:
    • App Groups - Required for OneSignal push notifications. You'll link the App Group identifier (created in Step 2.5) after registration.
    • Push Notifications - Required for OneSignal push notifications
  8. Click "Continue" and then "Register"
  9. After registration, click on your newly created App ID to edit it
  10. Enable App Groups capability and select the App Group identifier group.app.webtoapp.onesignal (you'll create this in Step 2.5)
  11. Enable Push Notifications capability
  12. Click "Save" to apply the changes

Your App Bundle Identifier

Your Bundle ID is: com.yourcompany.yourapp
This must match exactly when creating your app in App Store Connect.

Important: Capabilities Required for OneSignal

Both App Groups and Push Notifications capabilities are required for OneSignal push notifications to work. Make sure to enable both and link the App Group identifier after creating it in Step 2.5.

2.4 Create App Group Identifier

App Groups allow your main app and OneSignal Service Extension to share data. This is required for OneSignal push notifications.

  1. In the Apple Developer portal, go to "Identifiers"
  2. Click the "+" button
  3. Select "App Groups" and click "Continue"
  4. Enter a description (e.g., "OneSignal App Group")
  5. Enter the App Group identifier: group.app.webtoapp.onesignal
  6. Click "Continue" and then "Register"

App Group Identifier

Use this exact identifier: group.app.webtoapp.onesignal
This must be linked to both your main app identifier and the OneSignal Service Extension identifier.

2.5 Create OneSignal Service Extension Identifier

The OneSignal Service Extension is required for rich push notifications. Create a separate App ID for it.

  1. In the Apple Developer portal, go to "Identifiers"
  2. Click the "+" button
  3. Select "App IDs" and click "Continue"
  4. Select "App" and click "Continue"
  5. Enter a description (e.g., "OneSignal Notification Service Extension")
  6. Enter the Bundle ID: com.yourcompany.yourapp.OneSignalNotificationServiceExtension
  7. Select the capabilities:
    • App Groups - Required. You'll link the App Group identifier after registration.
    • Push Notifications - Required for OneSignal
  8. Click "Continue" and then "Register"
  9. After registration, click on your newly created App ID to edit it
  10. Enable App Groups capability and select the App Group identifier group.app.webtoapp.onesignal
  11. Enable Push Notifications capability
  12. Click "Save" to apply the changes

OneSignal Extension Bundle ID

Your OneSignal Extension Bundle ID is: com.yourcompany.yourapp.OneSignalNotificationServiceExtension
This follows the pattern: [Your Main Bundle ID].OneSignalNotificationServiceExtension

2.6 Create Provisioning Profiles

Provisioning profiles link your App IDs to your Certificates. You need to create App Store distribution profiles for both your main app and the OneSignal Service Extension:

Main App Profile

  1. In the Apple Developer portal, go to "Profiles"
  2. Click the "+" button
  3. Select "App Store" (for distribution) and click "Continue"
  4. Select your main App ID (com.yourcompany.yourapp) and click "Continue"
  5. Select your Distribution Certificate and click "Continue"
  6. Enter a name for the profile (e.g., "My App Distribution Profile")
  7. Click "Generate" and download the profile

OneSignal Service Extension Profile

  1. In the Apple Developer portal, go to "Profiles"
  2. Click the "+" button
  3. Select "App Store" (for distribution) and click "Continue"
  4. Select your OneSignal Extension App ID (com.yourcompany.yourapp.OneSignalNotificationServiceExtension) and click "Continue"
  5. Select your Distribution Certificate and click "Continue"
  6. Enter a name for the profile (e.g., "OneSignal Extension Distribution Profile")
  7. Click "Generate" and download the profile

Optional: You can also create Development profiles for testing (follow similar steps but select "iOS App Development" instead of "App Store").

Step 3: Configuration in App Store Connect

While certificates are being processed, go to appstoreconnect.apple.com to create your app.

3.1 Create the App

  1. Sign in to App Store Connect with your Apple Developer account
  2. Click on "My Apps"
  3. Click the "+" button and select "New App"
  4. Fill in the app information:
    • Platform: iOS
    • Name: Your app name (as it will appear in the App Store)
    • Primary Language: Select your app's primary language
    • Bundle ID: Choose the Bundle ID you created in Step 2.3
    • SKU: A unique identifier for your app (can be the same as Bundle ID)
  5. Click "Create"

Use This Bundle ID

When creating your app in App Store Connect, make sure to select the Bundle ID you registered: com.yourcompany.yourapp

Important

Make sure you have created the app in App Store Connect before proceeding to the next step. The app must exist in App Store Connect before you can generate API keys.

Step 4: Creating the API Key

To automate deployment and integrate with WebToApp.app, you must generate an API Key in App Store Connect. This allows our platform to manage your app builds and uploads securely.

4.1 Access the Integrations Page

Go directly to the API integrations page:appstoreconnect.apple.com/access/integrations/api

4.2 Generate Key

  1. Click the "+" button to create a new API Key
  2. Give it a name (e.g., "WebToApp Build Key")
  3. Assign the appropriate access rights: select "Admin" role
  4. Click "Generate"

Important: Download the .p8 File Immediately

You can only download the .p8 file once from App Store Connect. After generation, immediately:
  • Download the .p8 file to your computer
  • Store it in a secure location
  • Do not lose this file - you cannot download it again

4.3 Retrieve Credentials

Once generated, you will need to gather three specific items:

  1. Issuer ID: Copy this UUID, which is typically found at the top of the integrations page. It looks like: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  2. Key ID: Copy the unique identifier listed in the row of your newly created key. It's a 10-character string.
  3. Download .p8 File: Click the download link to save the private key file (.p8) to your computer. Store it securely - you can only download it once!

Step 5: Complete Setup in WebToApp.app

Now that you have all the necessary credentials, it's time to complete the setup in your WebToApp.app dashboard.

5.1 Navigate to iOS Build Section

  1. Log in to your WebToApp.app dashboard
  2. Select your project
  3. Go to the "iOS Build" section
  4. You'll see the guided setup wizard if this is your first time

5.2 Follow the Guided Setup

The setup wizard will guide you through the same steps we've covered in this guide. When you reach Step 4 (API Key Setup), enter:

  • Issuer ID: The UUID you copied from App Store Connect
  • Key ID: The 10-character key identifier
  • .p8 File: Upload the .p8 file you downloaded
  • App Bundle Identifier: This is pre-filled from your project (e.g., com.yourcompany.yourapp)

5.3 Complete Setup

Once you've entered all credentials and uploaded the .p8 file, click "Complete Setup". Your credentials will be securely saved, and you'll be taken to the build interface.

Step 6: Build Your App

After completing the setup, you can now build your iOS app. The build interface will show all your saved credentials and allow you to request builds.

6.1 Configure Build Settings

  1. In the iOS Build section, you'll see your App Bundle Identifier (read-only)
  2. Enter a Version Code (a unique number that increments with each build, e.g., 1, 2, 3...)
  3. Enter a Version Name (the version string users will see, e.g., "1.0.0", "1.1.0"...)

6.2 Request Build

  1. Click the "🚀 Make My App" button
  2. Our system will process your build request
  3. Build typically completes within 24-48 hours
  4. You'll receive email notifications about the build status

6.3 What Happens During Build

Our system will:

  • Use your App Store Connect API credentials to authenticate
  • Create or verify your App ID in Apple Developer
  • Generate necessary certificates and provisioning profiles
  • Compile your app with your configurations
  • Sign your app for App Store distribution
  • Upload the build directly to your App Store Connect account
  • Notify you when the build is ready

Step 7: Submit to App Store

Once your build is ready and uploaded to App Store Connect, you can submit it for App Store review.

7.1 Complete App Store Listing

In App Store Connect, complete your app's listing:

  • App Information: Description, keywords, category, etc.
  • Pricing and Availability: Set your app's price and availability
  • App Privacy: Complete privacy questionnaire
  • Screenshots: Add screenshots for different device sizes
  • App Preview: Optional video preview

7.2 Submit for Review

  1. Select the build you want to submit
  2. Complete any remaining required information
  3. Click "Submit for Review"
  4. Apple will review your app (typically 1-3 days)
  5. You'll receive email notifications about the review status

7.3 After Approval

Once Apple approves your app:

  • Your app will be available on the App Store
  • Users can download and install your app
  • You can track downloads and analytics in App Store Connect

Managing Your App

Viewing Saved Credentials

In the iOS Build section, you can view your saved App Store Connect credentials. By default, sensitive information is masked for security. Click "Show" to reveal the full values if needed.

Downloading .p8 File

If you need to download your .p8 file again, you can do so from the iOS Build interface. However, remember that you can only download it once from App Store Connect, so we store it securely for you.

Restarting Setup

If you need to update your credentials or restart the setup process, click "Restart Setup" in the iOS Build section. This will allow you to enter new credentials, which will overwrite the existing ones.

Requesting New Builds

For app updates or new versions:

  1. Increment the Version Code (e.g., from 1 to 2)
  2. Update the Version Name (e.g., from "1.0.0" to "1.1.0")
  3. Click "🚀 Make My App" to request a new build
  4. Our system will create and upload the new build
  5. Submit the new version in App Store Connect

Troubleshooting

Common Issues

Setup Not Completing

  • Missing Credentials: Ensure all three items are provided (Issuer ID, Key ID, and .p8 file)
  • Invalid .p8 File: Make sure you uploaded the correct .p8 file downloaded from App Store Connect
  • Wrong Bundle ID: Verify the Bundle ID matches the one registered in Apple Developer

Build Issues

  • Build Fails: Check that your API credentials are correct and have Admin permissions
  • Certificate Errors: Ensure certificates are valid and not expired
  • Provisioning Profile Issues: Verify profiles are linked to the correct App ID and certificates

App Store Connect Issues

  • App Not Found: Ensure the app exists in App Store Connect with the correct Bundle ID
  • Permission Errors: Verify the API key has Admin permissions
  • Upload Fails: Check that all certificates and profiles are valid

Security Best Practices

  • Keep Credentials Secure: Never share your API credentials or .p8 file
  • Regular Updates: Rotate API keys periodically for security
  • Monitor Access: Regularly check App Store Connect for any unauthorized activity
  • Backup .p8 File: Store a secure backup of your .p8 file (you can only download it once)

Need Help?

If you encounter any issues during the setup or build process, our support team is here to help. Don't hesitate to reach out if you need assistance with any step!

You're All Set!

Follow these steps and our guided setup process will help you through each stage. Once setup is complete, you can build and publish your iOS app to the App Store!

Was this helpful?