Thursday, December 3, 2015

A Simple Swift iOS App from Start to Finish - Publishing my App

Introduction

This is part of a series of articles describing the creation of a simple iOS app. A complete list of the articles is included in the first part A Simple Swift iOS App from Start to Finish - Introduction.

I have set up a web site for the finished app at http://DaysWithoutThings.com and you can download it free directly from the app store:





In this article I am going to describe how I published my app on the App store.


There are two parts to publishing an app. Firstly you need to create an app record for it on Apple's iTunes Connect web site and then you need to prepare the app in Xcode and upload it.

To create the app record first log in to https://itunesconnect.apple.com. Click "My Apps" and then click on the plus sign.

Select New App to add a new iOS app.


Enter the details for the app. The bundle ID should be the same as the one defined for the app in Xcode. The name can be anything (within the limits of Apple's submission rules).  The SKU is a unique ID that you define for your app.


Once you have filled in the details you can click "Create" which will take you to the App Information page for your app. Here you can set the categories your app will appear in in the App store.

The next step is to add a version of your app to publish. Clicking the plus sign next to "version or platform" will prompt you to pick a new iOS or tvOS version.
When you click iOS you are taken to a new iOS version page. This is where you enter the written description of your app for the App Store along with screen shots for each supported device. You can use the iOS Simulator to generate all your screen shots. You can also add links to your app's web page and your privacy statement (if you have one). Both of these links will then appear in your App's Store entry.

You can also select when you app is released after it has been reviewed by Apple. You have a choice between manually releasing it yourself once it has past review or automatically releasing it either as soon as it passes review or on a set date and time after it passes.

The final step is to pick a build to include in the release. To do this you first have to submit a build via Xcode.

Submitting a build from Xcode

To submit a build from Xcode you first have to build it for either a real iOS device or the "Generic iOS Device" target.


After a successful build the Archive option will be enabled on the Product menu.



Clicking this creates an archive of the app and then opens the archive window.



The app needs to be validated before it is uploaded to iTunes Connect. If you click on the "Upload to App Store..." button it will validate your app as part of the upload process. Alternatively you can just click on the "Validate..." button to validate your app without uploading it.
Validation checks that your app meets the basic rules for an app including checking if it uses  any non-public APIs.
When you click on validate or upload Xcode will prompt you for your development team profile.



It will then prompt you to do the actual validation. 



There are two options here that will affect how your app is uploaded.
"Include app symbols for your application to receive symbolicated crash logs from Apple." is pretty self explanatory. If you leave it checked any crash reports will include debug symbols that will allow the crash report tool to highlight the lines in your code where any crashes occur for users that opt in to crash reporting.
"include bitcode" Allows Apple to create device specific versions of your app. This process is transparent to you and to the app users but ensures that the app is optimized for the device it is running on.

When you click on validate Xcode will take a few seconds to "Prepare your Archive". When it completes it will tell you if your app passed or failed validation. If it fails it will give you a list of the errors it found. It may also give you some warnings. Warnings will not prevent you from uploading your app but may cause problems during the review process so it is always a good idea to attempt to resolve them.
One common warning is "The resulting API analysis file is too large."



This just means that some of the validation will be deferred until after you upload your App. If the deferred validation does find any errors you will be notified of them via email and will need to fix them before your App can be submitted for review.

Once your app has passed validation it can be upload. You will then see it appear in the select build area of your iTunes Connect App record. There will be a delay of a few hours between uploading the app and being able to select it. During that time it will show in the build selection area as "Processing...". Once it is available you can select it and move on to actually submitting your app for review.

Submitting your app

Once you have completed the App Information and iOS version details you can click the "Submit for review" button. This is put you app in the App Store review queue. You will get an email stating that your app is waiting for review. If you have the iTunes Connect app installed on a iOS device you will also get a notification through that. Expect your app to be waiting for review for 2 or 3 weeks. Once it reaches a reviewer you will get another email telling you your app's status is "In review". The actual review may only take a few hours. Assuming your app passes you will get another email either telling you it is "Pending Developer Release", if you set it to release manually, or is "Processing for App Store" if you set it to release automatically. 
If you did set it to manually release the version page will now display a "Make app available" button. Once you click this your app's status will change to  "Processing for App Store".

Once your app reaches the Processing for App Store stage it can take up to 24 hours for it to appear in the App Store.




Wrapping up


This concludes this series of articles.I hope it has been useful. I am continuing to develop my app and will post additional articles on how I implemented some of the enhancements I made to it.



1 comment:

  1. Very significant Information for us, I have think the representation of this Information is actually superb one. This is my first visit to your site. IOS App Signature

    ReplyDelete