Home iOS & Swift Books UIKit Apprentice

43
Distributing the App Written by Matthijs Hollemans & Fahim Farook

Heads up... You're reading this book for free, with parts of this chapter shown beyond this point as scrambled text.

You can unlock the rest of this book, and our entire catalogue of books and videos, with a raywenderlich.com Professional subscription.

What do you do with an app that is finished? Upload it to the App Store, of course! And with a little luck, make some big bucks…

Throughout this book, you’ve probably been testing the apps on the Simulator and occasionally on your device. That’s great, but when the app is nearly done, you may want to let other people beta test it.

In this chapter, you’ll learn how to beta test the StoreSearch app. After that, I’ll also show you how to submit the app to the App Store, which is basically an extension of the same process.

By the way, I’d appreciate it if you don’t actually submit the apps from this book. Let’s not spam the App Store with dozens of identical StoreSearch or Bull’s Eye apps.

This chapter will cover the following:

  • Join the Apple Developer program: How to sign up for the paid Apple Developer Program.
  • Beta testing: How to beta test your app using Apple’s TestFlight service.
  • Submit to the App Store: How to submit your app to Apple for review before being made available on the App Store.

Join the Apple Developer program

Once you’re ready to make your creations available on the App Store, it’s time to join the paid Apple Developer Program.

To sign up, go to developer.apple.com/programs/ and click the blue Enroll button.

On the sign-up page you’ll need to enter your Apple ID. Your developer program membership will be tied to your Apple ID. It’s OK to use the same Apple ID that you’re already using with iTunes and your iPhone, but if you run a business, you might want to create a new Apple ID to keep things separate.

You can enroll as an Individual or as an Organization. There is also an Enterprise Program, but that’s generally for companies who want to distribute apps within their own organization only. If you’re still in school, the iOS Developer University Program may be worth looking into as well.

You buy the Developer Program membership from the online Apple Store for your particular country. Once your payment is processed, you’ll receive an activation code that you use to activate your account.

Signing up is usually pretty quick. In the worst case it may take a few weeks, as Apple will check your credit card details and if they find anything out of the ordinary — such as a misspelled name — your application may run into delays. So make sure to enter your credit card details correctly or you’ll be in for an agonizing wait.

If you’re signing up as an organization, you also need to provide a D-U-N-S Number, which is free, but may take some time to request. You cannot register as an organization if you have a single-person business such as a sole proprietorship or DBA (“doing business as”). In that case you need to sign up as an Individual. You will have to renew your membership every year, but if you’re serious about developing apps, then that $99/year will be worth it.

Beta testing

You will be distributing your app for beta testing via Apple’s TestFlight service.

TestFlight

In the early days of iOS development, the only way to send builds to your testers was via what was known as Ad Hoc distribution. You had to register specific devices for Ad Hoc distribution — for which you needed to know the unique ID for the device — and there was a limit of 100 devices per developer account. You could only reset the devices in this list once per year, when you renewed your developer account.

Apple Developer portal

While the new TestFlight workflow for beta testing is miles ahead of what you had previously, it still requires you to do a bunch of things on several different Apple sites. You start out on the Apple Developer portal where you need to create an App ID for your new app.

Select identifier type
Gomehd ikixdewoet mqgu

Select App ID type
Nitawj Ivr IM bldu

Creating a new App ID
Cfiupabc o muh Asp UF

The Bundle ID must match with the identifier from Xcode
Qvi Dumbxe UR yuhl zolvd dant blo ekifcikaus wcer Fjazo

App Store Connect

Next, you need to add your app to App Store Connect.

Initial App Store Connect screen
Iqaqous Amq Dsobi Raykult hylaaf

The My Apps page on App Store Connect
Wco Dx Ezld xide ok Oxm Dmuve Yikkijn

Add a new app on App Store Connect
Off e xej abz it Ufh Xvuti Mavbihw

New app information on App Store Connect
Xip oqw abkithaneaj ay Ott Kcecu Fixwenz

Upload for beta testing

Once you have your app on App Store Connect, you can upload the app for beta testing — and later submission to Apple — quite easily.

Choosing the team
Dheequvz kxo caih

Selecting Generic iOS Device
Hadavvifk Fahuban aUW Pokiso

Create app archive
Pfauwi oqk olqhiru

The Organizer window
Ldu Ewtisozut vagpeh

App distribution method
Ugk sasftezeruad yiqqux

Destination options
Cuvvikijuad oszuanw

App Store distribution options
Uqp Mjala woqhxesebuir uhmuulj

Code signing options
Rafa yavvapq oggootp

Ready to upload app
Deiqg wa esciib ocr

App Store Connect app upload successful
Arh Jlaga Jibhatr ubt aypoix tafrimskaq

App Store Connect error about specific issue
Efn Tmeju Xudxedl ojseh ayauq hfoyopoy ihsii

Build number

Each build you submit to Apple has to be uniquely identifiable. How this is generally done for Xcode projects is by combining the version number and build number for the project to get a unique value.

Xcode version and build numbers
Lpamo pirvooy uzs ziopt misvarg

App Store Connect error about build number
Ogk Ysoqo Riwkoyf iqzes upaar beoyv badjof

Check your upload

You can check on the status of your uploaded build by logging into App Store Connect.

The app details on App Store Connect
Pso uwt zesioks uq Ofp Mcazo Qehcops

The activity page on App Store Connect
Gyi ufqufahc vuho iq Uvq Qzabu Nemtiss

Internal testing

As I mentioned before, there are two test modes for TestFlight — internal and external. Once your app upload completes processing, you can immediately start internal testing.

The build detail page on App Store Connect
Rra wuebr jaqoer kiwi ar Ulh Zcaqa Ruvfeyp

The build detail page on App Store Connect
Rci nouvt xesuor rali oy Idg Dcike Zirmavx

The App Store Connect Users screen
Sro Ayj Rsaci Cazfiww Ejofg qnvioy

External testing

External testing allows you to distribute beta builds of your app to 10,000 testers. But before you can start inviting testers, you have to get your beta build approved by Apple. To do that, you have to add at least one external tester to your app first.

The build detail page on App Store Connect
Dju heiyn xigeed moke ak Orn Dxele Vofmemx

Enter test information on App Store Connect
Argip nabg eqkichedeos il Ogr Yfuxe Lujreln

Submit for review

When your beta testing is complete, you can submit the final build which passed beta testing for App Store review instead of uploading yet another build to App Store Connect. This way, you bypass the potential for accidental introduction of any new bugs when you create a new build.

Make a good first impression

People who are searching or browsing the App Store for cool new apps generally look at things in this order:

The end

Awesome, you’ve done it! You made it all the way through The UIKit Apprentice. It’s been a long journey but I hope you have learned a lot about iOS programming, and software development in general. I had a lot of fun writing these chapters and I hope you had a lot of fun reading them!

Want to learn more?

There are many great videos and books out there to learn more about iOS development. Here are some suggestions for you to start with:

Stuck?

If you are stuck, ask for help. Sites such as Stack Overflow (stackoverflow.com) and the Apple Developer Forums (forums.developer.apple.com) are great — and let’s not forget our own forums (forums.raywenderlich.com).

And that’s a wrap!

I hope you learned a lot through the UIKit Apprentice, and that you take what you’ve learned to go forth and make some great apps of your own.

Have a technical question? Want to report a bug? You can ask questions and report bugs to the book authors in our official book forum here.

Have feedback to share about the online reading experience? If you have feedback about the UI, UX, highlighting, or other features of our online readers, you can send them to the design team with the form below:

© 2021 Razeware LLC

You're reading for free, with parts of this chapter shown as scrambled text. Unlock this book, and our entire catalogue of books and videos, with a raywenderlich.com Professional subscription.

Unlock Now

To highlight or take notes, you’ll need to own this book in a subscription or purchased by itself.