As promised from the very start, everything we have looked at in this book has been possible to experiment with and put into your app and deploy onto your phone without an Apple Developer Account.
That said, if what you have created is ready to be shared with the rest of the world, you are going to want to put it in the App Store for others to download and install. To do this, you will need an Apple Developer Account, and you will need to follow the steps outlined in this chapter.
App Store Submission To-Do List
In this chapter, we will cover the process of getting your app into the App Store. The process is comprised of a number of stages:
Set up icons for the app.
Set up the launch screen (optional).
Set up App ID and Entitlements.
Create and install an App Store provisioning profile.
Update the build release configuration.
Build your app and submit it to Apple.
Set Up Icons for the App
Because the icon for your app will be used in a variety of different places, you will need to provide the icon in several different sizes.
Your icon will appear in different sizes in the following places:
App Store
Notifications
Settings
Spotlight
To provide different sized icons, open Assets.xcassets and provide images for an IconImage resource. See in Figure 17-1.
Set Up Launch Screen Image
The launch screen for your app is the screen that you see immediately after launching your app but before you initially see the main page of your app and by default it is a blank white screen. And fortunately, it is very easy to change if you choose to do so. It is something I recommend because it is relatively simple and can help with the initial experience a user has with your app.
As mentioned, you optionally can override the default blank launch screen of your app (LaunchScreen.storyboard). Once you open LaunchScreen.storyboard, you can change its background color and add labels and images to it as can be seen in Figure 17-2. If you go ahead and choose to alter the default, when your app launches, the updated launch screen will be shown before your main app.
Set Up App ID and Entitlements
Before you go much further, you will need to create an App ID for your app. You do this in the Apple Developer Portal at https://developer.apple.com, and to be able to do this, you will need an Apple Developer Account which at the time of writing costs £79.
When you log in to your Apple Developer Account, you should be greeted by a page as shown in Figure 17-3.
Okay, presuming you’ve got your Apple Developer Account now and have logged in, go to Certificates, IDs & Profiles as shown in Figure 17-4.
We are going to create a new Identifier for our app in the form of an App ID, so click the + button next to the Identifiers heading to start creating a new identifier for our app.
Select App IDs from the list of identifiers as shown in Figure 17-5, then press Continue.
On the next screen, select what the App ID is for – in our case, an App, so choose App from the options as shown in Figure 17-6, then press Continue.
In the next screen, provide a Description and Bundle ID, then select from the list any device Capabilities your app uses as shown in Figure 17-7, then press Continue.
On the next screen, you are given a chance to confirm the App ID details before registering as can be seen in Figure 17-8. When ready, press Continue, then press Register.
Congratulations! You have created your first App! Well, App ID anyway. Don’t worry. We’ll put it to good use soon enough.
Create and Install an App Store Provisioning Profile
In order to publish your app to the App Store, you will need to create, install, and use an appropriate distribution provisioning profile on your computer. These provisioning profiles contain information about the certificate that is used to sign your app, the App ID, and where it can be installed.
To create and install a provisioning profile for your app, go to Certificates, IDs & Profiles section in the Apple Developer Portal again.
This time, go to the Profiles section. From here, you will see any existing Development or Distribution profiles and can create new ones.
In the Profiles section, click the + button next to the Profiles heading as shown in Figure 17-9.
Then on the Register a New Provisioning Profilepage, under the Distribution section, select App Store as shown in Figure 17-10 and press Continue.
On the next screen, select your App ID from the drop-down list as shown in Figure 17-11 and press Continue.
Select the certificate from the next screen as shown in Figure 17-12, then press Continue.
Provide a name for the Provisioning Profile on the next screen as shown in Figure 17-13, then press Generate.
Then finally, as shown in Figure 17-14, download and double-click the Provisioning Profile you have generated to install it to your computer.
Phew, now you will have successfully installed a distribution provisioning profile onto your machine that can be used to put your app in the App Store.
Now, let’s go and build the version of the app we wish to upload in the next section.
Update Build Release Configuration
Before we build our app for submission to the App Store, we need to do a few more things including assigning the Provisioning Profile we created in the previous section.
Open the Info.plist file and go to the Application tab. It will probably look a bit like this. Make sure Manual Provisioning is selected as the Signing Scheme as shown in Figure 17-15.
Next, open your Project Options and go to Build ➤ IOS Build. On this page, change the Configuration to Release and Platform to Phone, and ensure all other settings look like the following in Figure 17-16.
Next, go to the iOS Bundle Signing section as shown in Figure 17-17.
The Configuration should be set to Release and the Platform set to iPhone.
The Signing Identity should be Distribution (Automatic).
The Provisioning Profile should be the one you created in the previous step.
Note You will only see Provisioning Profiles that have a bundle ID that match the app’s bundle ID in the Info.plist file.
Your project should now be ready to build and publish. But first, we need to get the App Store side of things ready to receive the upload of the app.
Set Up the App in App Store Connect
Before you can submit your app to the Apple for review, you must first configure it in App Store Connect. App Store Connect is an online portal used to manage your iOS apps in the App Store and can be found at https://appstoreconnect.apple.com/.
There are a number of things we need to do in App Store Connect including
Provide app name as will appear in store
Select Bundle ID
Provide description, keywords, category
Provide screenshots
Declare price and availability
The main screen of the App Store Connect looks like the following in Figure 17-18.
Go to My Apps and create a new app by pressing the blue circle + button next to the Apps heading and provide your app’s details as shown in Figure 17-19.
Once you have created an app in App Store Connect you should see a screen as shown in Figure 17-20, where you can provide further details for it.
In the Pricing and Availabilitysection shown in Figure 17-21, you can set how much or how little you would like to charge for your app.
In the General Informationsection, you should provide your app’s Primary Category and Secondary Category as well as a Subtitle to aid people searching for apps like yours and give them the best chance of stumbling onto your app. See Figure 17-22.
You will also need to set up the Content Rights for the app where you confirm that you have rights to any content in the app.
But don’t press Submit for Review yet as you will need to create and upload/associate a build with your initial release. For this, we need to go back to Visual Studio for Mac which we will see in the next section.
Build the App and Submit It to Apple
Now that you have set up your app in App Store Connect, you need to finally build and submit your app.
Select the Release Build Configuration in Visual Studio for Mac as shown in Figure 17-23.
Then, from the Build menu, select Archive for Publishing as shown in Figure 17-24. This bundles up your app into an archive ready for upload.
Once the Archive has been created, click the Sign and Distribute button shown in Figure 17-25.
On the Select iOS Distribution Channel screen, select App Store and press Next as shown in Figure 17-26.
In the next screen, when selecting a destination, choose Upload, then Next as shown in Figure 17-27.
In the next Provisioning Profile screen as shown in Figure 17-28, select the desired provisioning profile (if you have more than one), then press Next.
On the next screen, you will be asked to provide some credentials to enable communication with App Store Connect as shown in Figure 17-29.
Now you may wonder what on earth this App Specific Password is. I certainly did.
After you have generated an app specific password, enter your Apple ID Username and the password and press Next.
After which, as you can guess by the next screen shown in Figure 17-31, you are finally ready to publish the app. Press Publish.
Once you have clicked Publish, you will be asked to choose a location to save an ipa file, after which, your app will be uploaded to App Store Connect, and if you have been successful, you will be notified that publishing has succeeded as shown in Figure 17-32.
You will notice that the status of your app will change to “Waiting for Review.” You just have to wait now for Apple to make its automated and manual checks on your app by its team of reviewers. If Apple have any means to reject your app such as copyright infringement or unclear permission requests, your app will be rejected, and you will be given feedback. If this happens, you will be able to make the relevant changes to your app and resubmit for approval.
Once Apple have successfully approved your app, it will shortly appear in the App Store.
Summary
Well, that’s it. You now have everything you need to not only develop some pretty impressive and useful Augmented Reality experiences but also distribute and share them with the world. What you choose to make next is up to you.
Augmented Reality is set to become increasingly popular over the coming years, and the rich variety of abilities that ARKit allows us to leverage right out of the box to deliver amazing AR experiences should be apparent by now.
The experiences you can create are limited only by your imagination.