Create a developer program with iOS

This topic describes the processes and steps required for publishing VidyoConnect-branded apps to the Apple App Store. 

Overview

The Apple Developer Program provides everything you need to build and distribute advanced capable apps to your worldwide customers on the App Store for iPhone, iPad, Mac, Apple Watch, Apple TV, and iMessage, and on the Safari Extensions Gallery . Also, you can deliver custom apps to specific businesses or proprietary apps within your organization. To learn more, visit the Apple Developer Program.  

The Apple Developer Program handles all payment processing and there are no hosting fees. Additionally, this program offers:

  • Access to beta software
  • Advanced app capabilities such as:
  • Integration with Siri to let user get things done with just their voice
  • Ability to sell items with Apple Pay direct from within the app
  • Ability to store app data in iCloud
  • Extensive beta testing tools
  • Share your beta builds with TestFlight Beta Testing in App Store Connect to invite users to test before you release on the App Store
  • App analytics
  • Measures user engagement
  • o Assesses marketing campaigns

Set up a developer program for iOS

Before you enroll, you can get started by reviewing Apple's tools and resources (for free). These tools and resources include SwiftUI, Xcode, Swift, and TestFlight. 

Enroll as an individual or as an organization at the Apple Developer Program Enroll page. As an individual, you will need your Apple ID with two-factor authentication turned on. As an organization, you'll need an Apple ID with two-factor authentication turned on and the following:

  • A DUNS Number
  • Legal Entity Status
  • Legal Binding Authority
  • A website

Enrol in the Apple Developer Program

  1. Visit the Apple Developer Site and in the upper right, click the Account link.
  2. Click Create Apple ID. Fill in email, password and security information. Use an email address that you check often because Apple sends frequent updates on the program and on the status of apps submitted for approval.
  3. Scroll down and complete the remaining security questions and the captcha prompt, then click Continue.
  4. Check the email account you specified when registering. You should receive an email.
  5. The next page will prompt you to enter the code emailed to you. Enter the code and click Continue.
  6. Visit the Developer Member Center, and log in.
  7. The next page is the mandatory legal agreement. As always, it’s a good idea to consult with your lawyer before signing this and future agreements mentioned in this tutorial. When you’re ready, click the check box. Then click Submit.
  8. Once logged in, click the Join the Apple Developer Program link at the lower center of the page. Then, click Enroll.
  9. Click Start Your Enrolment.
  10. Select Individual / Sole Proprietor / Single Person Business, and click Continue.
  11. Enter your billing/business information to verify your identity. Apple will attempt to confirm this information with your credit card company, so make sure you enter it correctly. Fill in the remaining fields, and at the bottom, you’ll see another license agreement. When you’re ready, check the box and click Continue.
  12. Review your information, and when you’re ready to submit, click Continue.
  13. Now you will be prompted with the cost and summary for the purchase. You have the option for automatic renewal every year, which saves having to remember to renew and prevents any chance that your apps become unavailable (apps will be removed from the store once the account is no longer active). Check Automatic Renewal if you want this option, then click Purchase.
  14. Agree to the Terms & Conditions. If everything is okay, check the box and click Continue.
  15. Finally, confirm your intent to purchase the membership.

Enrol in the Enterprise Apple Developer Program

The Enterprise Apple Developer Account is for large organizations to develop and deploy proprietary, internal-use apps to their employees through a secure internal system called Mobile Device Management solution. To learn more, click here.

Application format

Enghouse-Vidyo provides two application formats in .ipa or .xcarchive:

  • .ipa - This format is signed with an Enghouse-Vidyo Apple Developer account

Note

The customer must proceed with the re-signing process to have an ability to upload using Transporter.

  • .xcarchive - This format is an unsigned archive which you can upload using the instructions for the VidyoConnect based applications.

To enroll in the Enterprise Apple Developer Program:

  1. Click the following URL to Apple's enrollment page for their Enterprise program: https://developer.apple.com/programs/enterprise/enroll/
  2. Read through the "What You Need To Know" items, then click Start Your Enrollment at the bottom of the page.
  3. Make sure your Apple ID information is correct, select your Entity Type, then click Continue.
  4. Select the type of authority you have to enroll the company/organization in the Enterprise program.
  5. Fill out your organization's information.
  6. Fill out the CAPTCHA and click Continue.
  7. Once you have submitted your information, Apple will contact you to verify your information and will provide a direct link so that you can make the payment to finalize your enrollment in the Enterprise program.

Note

After your account has been fully setup/activated, there is a 2 week (14 day) waiting period before we can create the files we need in your account.

Upload the iOS application using Transporter by Apple

  1. Install "Transporter" from the App Store to your macOS machine.
  2. Sign in with Apple ID.
  3. Drag or click add IPA file for starting the delivery process.
  4. Click the Deliver button.
  5. During the delivery process, you may receive messages that you should wait for automatic restart.
  6. Wait for the completion of the delivery process.

Warning and error messages

After the uploading process, you may receive an email with one of the following warnings:

  • ITMS-90473: CFBundleVersion Mismatch
  • ITMS-90473: CFBundleShortVersionString Mismatch
  • ITMS-90381: Too many symbol files
  • ITMS-90809: Deprecated API Usage

These warnings are not errors and, therefore, will not result in App Store rejections or prevent you from releasing the application to the App Store.  

Upload the VidyoConnect-branded iOS binary file

Prerequisites

  • Enghouse-Vidyo Professional Services Team requests an invitation to the Customer’s Apple Developer Program Team and requires “Developer Rights”.
  • The developer on the customer side should have a macOS workstation with the following configurations/prerequisites:
  • macOS 10.15.4 or later
  • Xcode 11.4.1 or later
  • iOS Distribution certificate with private key added to Keychain Access of the workstation
  • The customer developer account used to log into Xcode application must have one of the following rights:
  • Admin
  • App Manager

Procedure

  1. App Groups Identifier (allows access to group containers that are shared among multiple related apps, and allows certain additional interprocess communication between the apps) - must be in the following format: group.[BundleID of Screen Share extension]
  2. Application Bundle ID with capabilities:
  • Access WiFi Information
  • App Groups (select the App Groups you wish to assign to the bundle)
  • Push Notification (to configure push notifications, a Client SSL Certificate that allows your notification server to connect to the Apple Push Notification Service is required) - create Production SSL Certificate.
  • Screen Share extension Bundle ID with above-mentioned capabilities.
  • App Store Distribution profile for application Bundle ID with iOS Distribution certificate inclusion.
  • App Store Distribution profile for Screen Share extension Bundle ID with iOS Distribution certificate inclusion.

Note

Bundle IDs that will be created must be the same as was defined and confirmed with Enghouse-Vidyo team earlier.

  1. Log in to the App Store Connect.
  2. Click the My Apps button to go to the overview of the apps.
  3. Since this is the first time it will be uploading and publishing the app, a new app listing needs to be created. Click on the '+' sign in the top-left of the window and choose to create a New App.
  4. A new window will pop up and ask for several details about new app listing:
  1. Select the iOS checkbox.
  2. Enter a unique name into the Name field. If entered name has already been used in the App Store or registered by another developer, the name field will turn red and give an error.
  3. Choose a primary language for the app listing.
  4. Choose the Bundle ID which was created earlier for this app, click on the drop-down menu and find the Bundle ID in the list.
  5. Finally, enter an SKU – this is meant as a "code identifier", however, it is not really important for publishing. Simply entering the App Name in all capitals, followed by a number is sufficient.
  1. Click Create. The app listing should be created now.
  2. Open .xcarchive file provided by Enghouse-Vidyo team. The file will be opened in Xcode Organizer.
  3. Click Distribute App.
  4. Choose the iOS App Store method of distribution.
  5. On the next screen you will see the following two options:
  • Upload destination - if you want to send the app to App Store Connect.
  • Export - if you want to sign and export without uploading.
  1. In "App Store distribution options", leave the check boxes as they are, and click Next.
  2. On the next screen you will have the option to select how you want to re-sign the application:
  • Automatically manage signing - Xcode will manage signing
  • Manually manage signing - the manual process of signing

Note

The Enghouse-Vidyo Team recommends Automatic signing, but in order to manage the signing process, choose the Manual option

  1. (Skip this step if you Select Automatically manage signing) . In the "Select certificate and iOS App Store profile", ensure that Team is corresponding:
  • [customer application].app - select appropriate profile (import or download)
  • [customer application]ScreenShareExtension.appex- select appropriate profile (import or download)
  1. Export to export the application to the corresponding folder. Otherwise, select Upload.
  2. Press Export or Upload as needed.

Preparation actions on Customer’s Apple Developer Account

Customer should create the following:

  • Creating App Store Connect App Listing
  • Signing process

Fill in an App Store Connect app listing

  1. The app listing should be created before, and it will be taken to the App Information section. There you will see the app name and Bundle ID, the app's newly created and assigned Apple ID number, and a few fields on the right that need filling in.
  • The privacy policy URL should be the Customer privacy policy.
  • The Category of the app falls under the appropriate category.
  1. After making these changes, click Save in the top-right of the window to save the work before going to the next section.
  2. Click Pricing and Availability in the left menu.
  3. Select the zero price for the app and the countries the app will be available in. By default, the app will be available in all countries. Click Save in the top-right to save your work.
  4. Navigate to the “Prepare for Submission” section in the menu. Upload the images and icon, and fill in the app description.
  5. Fill in the "Description" field. The text entered here will be visible as the app’s description in the App Store. Please note: there are some limitations to this field.
  6. Next to the description field, there are the Keywords, Support URL, and Marketing URL. In the Keywords field, enter the app name and event name as default terms. The Support URL is the link to where users can find support for the app. The Marketing URL is the marketing description of the app.
  7. The next section is the "Build" section where you can select the app build to attach to this app listing. Click on the '+' sign next to the heading, under "Build", and select your build in the window that pops up.
  8. App icon image will appear after you select the build.
  9. Click Save in the top-right to save your work.
  10. Next to the app icon section, there is the Copyright and Trade Representative section.
  11. Afterward, the app needs a Rating. Find the rating section underneath the App Icon section. By default, when the app listing is created the first time, the app has no rating. You must answer several questions in order to determine the rating of the app. Click Edit to open up a window with the questions.
  12. Fill in the App Review Information. Enter the contact information of the person responsible for the Apple Developer account within your organization. Typically, it is the person that has been given the Account Holder role in your organization. All fields are required.

Below that, there is a Demo Account field. This is the user account that Apple Reviewers will use to log into the app and check its functionality and viability for the App Store. Input an email address from your organization here and then make sure that you add the email as an attendee in the CMS for your events.

  1. Notes field - Additional information about the app that can help during the review process. Include information that may be needed to test the app, such as app-specific settings. This field is not visible in the app listing in the App Store.
  2. Determine when the app will be released into the App Store. Typically, it is best to leave it on the default setting “Automatically release this version” so that the app is available as soon as possible. If for some reason the app should be available from a certain date, choose this or release manually.
  3. Click Save to finalize the work and continue to app submission.
  4. Click Submit for Review. Three final questions about the app will appear. The following are the default answers for the app:
  • Export Compliance – No
  • Content Rights – No
  • Advertising Identifier (IDFA) - No
  1. Click Submit. The status should have changed to “Waiting for Review”.

You can use the following page as a reference for all application statuses: https://help.apple.com/app-store-connect/#/dev18557d60e. On average, the application is reviewed during a 2-6 day time frame. If the submission is incomplete, review times may be further delayed or the app may be rejected. Once the app has been reviewed, its status will be updated and the customer will be notified.

Upload screenshots to App Store Connect

This section describes the process of creating screenshots (increasing/decreasing resolution) if the customer is responsible for publishing the iOS application and does not have the devices Apple requires.

Please upload appropriate screenshots for all required devices:

  • For iPhone: Screenshots for 6.5-inch devices (iPhone 11 Pro Max, iPhone Xs Max) and 5.5-inch devices (iPhone 6s Plus, iPhone 7 Plus, iPhone 8 Plus) are required. These screenshots will scale down for smaller device sizes.
  • For iPad: Screenshots for 12.9-inch iPad Pro (2nd generation) and 12.9-inch iPad Pro (3rd generation). These screenshots will scale down for smaller device sizes.

Note

Upload up to ten screenshots. If your app is the same across multiple device sizes and localizations, simply provide the highest resolution screenshots required.

If you do not have the required devices, you should:

  • Make screenshots of the application from iPhone 5.8-inch (iPhone 11 Pro, iPhone X, iPhone XS) and iPad 9.7-inch (iPad, iPad mini).
  • Resize screenshots according to the required display specifications:  
    • For iPhone 6.5”: 1242 x 2688 px
    • For iPad Pro 12.9” (2nd, 3rd Gen): 2048 x 2732 px

Note

For the resizing process, please use any known offline or online software (Adobe Photoshop, Photopea, etc.).

Reference to App Store Connect Help:

Update the application to the new version

  1. Click the plus button and click iOS.
  2. Enter a new version number.
  3. Prepare this version for publishing.
  4. Select the latest build in the build section.
  5. Add what's new content in the What's New section.
  6. Save and submit for review.

Note

Use this useful Apple resource for creating a new version of an application. You can also use this reference as guidance.