Deploying iOS Applications for Testing and the App Store

Master one of the most frustrating and time-consuming parts of iOS development, provisioning and deployment.
Course info
Rating
(112)
Level
Intermediate
Updated
Nov 12, 2015
Duration
2h 52m
Table of contents
Description
Course info
Rating
(112)
Level
Intermediate
Updated
Nov 12, 2015
Duration
2h 52m
Description

Provisioning and deployment can be one of the most frustrating and time-consuming parts of iOS development. Most developers don't really understand how it works and often flail about when they run into trouble. In this course you will learn how the provisioning and deployment process works so that you can stay focused on making fantastic iOS apps.

About the author
About the author

Alex has been in software development for over fifteen years. He's worked on a wide variety of systems and languages including web frameworks, databases and networking applications. Since the original iOS SDK was released in 2007 he has focused on iOS development.

More from the author
HTTP Networking in iOS
Intermediate
4h 11m
Jul 24, 2014
Meet MacRuby
Intermediate
1h 14m
May 19, 2009
Section Introduction Transcripts
Section Introduction Transcripts

Provisioning & Deploying To Your Own Device
Now that you have the basic concepts about provisioning under your belt, it's time to dive into the details of setting up your own device for development and testing. Now remember, the ultimate goal here is to create and install a provisioning profile that will let us put software directly onto your device, and in order to do that we'll need to set some things up first. In this module, you're going to learn how to create and install a developer certificate. We're going to learn how to create an application ID within the Provisioning Portal. We're also going to learn how to register a device in the Provisioning Portal. Then we'll take all those things and generate a Provisioning Profile. Now that you have the basic concepts about provisioning under your belt, it's time to dive into the details of setting up your own device for development and testing. Now remember, the ultimate goal here is to create and install a provisioning profile that will let us put software directly onto your device, and in order to do that we'll need to set some things up first. In this module, you're going to learn how to create and install a developer certificate. We're going to learn how to create an application ID within the Provisioning Portal. We're also going to learn how to register a device in the Provisioning Portal. Then we'll take all those things and generate a Provisioning Profile. Now that you have the basic concepts about provisioning under your belt, it's time to dive into the details of setting up your own device for development and testing. Now remember, the ultimate goal here is to create and install a provisioning profile that will let us put software directly onto your device, and in order to do that we'll need to set some things up first. In this module, you're going to learn how to create and install a developer certificate. We're going to learn how to create an application ID within the Provisioning Portal. We're also going to learn how to register a device in the Provisioning Portal. Then we'll take all those things and generate a Provisioning Profile.

Provisioning & Deployment For Testing
Once you're able to consistently deploy to your own device, it's time to share your app with testers. In this module, we will look at how to deploy your application to testers no matter where they are on the planet. As a developer, it's relatively easy to get your app on your own device. Just plug it into Xcode and with a little configuration you're good to go, but it probably isn't practical to have your testers come to your desk and plug each of their devices into your Mac. Your testers may not even be in the same geographical location. So the provisioning process for testers needs to work differently when it comes to distributing apps to them. In this module, we'll learn about registering testers' devices, the concept of Ad-Hoc distribution, Xcode Build Configurations and Schemes, Archiving, and application packaging and distribution for testers.

Using TestFlight
In the last module, we learned how to distribute apps to testers via email or deploy them on a website. And while that works well enough, it's a fairly manual process, and it doesn't give you any feedback about what your testers are doing with your app. It would be nice if you had a build distribution system that reported downloads and installations, that provided release notes to testers, that handles crash reports and symbolicates them for you, that collects user feedback and bug reports, and that tracks tester behavior in your apps to help you with debugging. Well, you're in luck, such a system exists, and it's called TestFlight. It's free for most users, and while there are other similar services such as HockeyApp, TestFlight was the first and has the widest adoption among testers and organizations. TestFlight's core feature is delivering test builds to testers, and it works like this. Developers create an IPA of their latest build and they upload it to TestFlight. TestFlight then sends an email to each tester with a download to the build. Users follow the link on their iOS device to download the IPA and install it. In this module, we'll dive into how to use TestFlight to improve your application testing and distribution.

Provising & Deployment for the AppStore
You've done all the hard work developing and testing your application and now you're ready to submit it to Apple for sale in the App Store. Most of what's involved in getting your app in the App Store should be familiar to you. You still need appropriate certificates and Application IDs configured in order to create an App Store specific provisioning profile. We'll look at what makes an App Store Provisioning Profile different from the others you've seen. We'll also learn how to prepare your app for the App Store and how to set up the iTunes page for your app using iTunes Connect. The steps to submission are that you need to create an App Store Provisioning Profile, you need to prepare you application for submission, you need to prepare iTunes for your application, and finally, you need to archive a Release build in order to submit your application to Apple. Then you need to wait for approval and hopefully your application will be available for sale in iTunes.