My app is an internal company application, so I cannot publish it publicly.

Hello, I am an iOS and Android mobile application developer. However, I have a major issue on the iOS side, and Apple has not resolved this problem for years.

My app is an internal company application, so I cannot publish it publicly. This is where the real issue begins. When I distribute the app to my users via an invitation code, any updates I release take a week or even months to appear on their devices. Users have to uninstall the app, go back to the "Purchased Apps" section in the App Store, and reinstall it. Since the app is private, it doesn’t appear in the regular App Store listings.

How can I explain this complicated process to my staff, some of whom have limited technical knowledge? Why doesn’t the update button appear, forcing users to navigate to the "Purchased Apps" section for updates? The app doesn’t need to be visible to the general public, but at least let the update button appear when users find the app in the "Purchased Apps" section.

I am currently forced to use TestFlight. However, there is another issue: the approval process for TestFlight takes about four days, which is three times longer than the publishing approval process. I am seriously frustrated by this poor user experience. I’ve become disillusioned with Mac and iPhone because of these problems.

An alternative option is to utilize Enterprise distribution, which allows users to access an internal webpage from their devices to install the application. For further guidance, please refer to the following link: https://support.apple.com/guide/deployment/distribute-proprietary-in-house-apps-depce7cefc4d/web

Internal App Distribution - In-House Provisioning Profile To release an iOS app internally as an In-House provisioning profile, follow these steps:

  • Create an In-House Distribution Certificate:

Navigate to Certificates, Identifiers & Profiles -> Identifiers -> App IDs -> Create an ID for the App. Select the Bundle ID, choose In-House Distribution, and create the ID.

  • Create an In-House Provisioning Profile:

After creating the App ID, proceed to Provisioning Profiles -> Distribution -> Create a profile. Select the In-House Distribution certificate previously created and add the registered device’s UDID.

  • Prepare the App for Distribution:

Ensure that your app’s build settings are configured to utilize the In-House provisioning profile.

Code Signing Identity: Utilize the In-House Distribution profile for signing the app.

Creating an Internal Webpage: To facilitate user access and app download, follow these steps:

  • Choose a Web Hosting Service:

Select a web hosting service to host your internal webpage.

  • Create a Website:

Utilize a web development tool or content management system (CMS) to construct a user-friendly website.

  • App Download Page:

Designate a specific page within the website for users to initiate the app download.
Create a Dedicated Page for App Download on Your Website Designate a separate page on your website for facilitating the download of your application. Include the following essential information:

    • App Description:Provide a concise synopsis of the application’s functionality and primary purpose.
    • Download Link: Offer a direct URL that enables users to download the application from the platform.
<a href="itms-services://?action=download-manifest&url=https://betterbag.com/manifest.plist">Install App</a>

Authentication and Access Control: Implement authentication and access control mechanisms to ensure that only authorized users can access the internal webpage and download the application.

Add SSL/TLS Certificate: Ensure that your website utilizes SSL/TLS to encrypt data transmission between the server and users’ devices. This is essential for data security.

Internal Distribution Method: Determine the method to distribute the website URL internally within your organization. You can utilize email, a company intranet, or any other communication channel.

Maintain Website Updates: Regularly update the webpage with the latest version of the application and any necessary modifications.

Note: Internal distribution is restricted to internal use within your organization. Sharing the application or its download link outside the authorized group is strictly prohibited. Please adhere to Apple’s guidelines: https://support.apple.com/guide/deployment/distribute-proprietary-in-house-apps-depce7cefc4d/web

Albert Pascual
  Worldwide Developer Relations.

My app is an internal company application, so I cannot publish it publicly.
 
 
Q