In my last post I mentioned that several things had to be set up in iTunes Connect, but I didn’t provide much in the way of details. Here, I’m uploading a couple screenshots to show what kind of setup was done. I am assuming that you already have a developer account and can sign into iTunes Connect with it. The first screenshot if of iTunes Connect after signing in. This is the main menu page where you can look at stats of previous apps you’ve made, read your contracts, adjust financial information or goto ‘manage apps’ to see what you have going on right now – this is also the place where you make new apps.
Go into the manage tab and you will see something that looks like screenshot #2. For DHS, this presently shows that we have two apps available on the app store (green lights), one that had a problem that I still need to fix (red light) and the new one I just made (SafeCracker! -which has a yellow light).
If you click on any of these apps, you will see info about them. I clicked on the new SafeCracker! app and was taken to a screen that looks like screenshot#3.
You can create a new app from the screenshot#2 page and you will be prompted to enter info that you see in my screenshot #3. As I said before, you may have to upload some placeholders until you have artwork made up.
I answered the what about provisioning last time. As far as ‘why’, I just attributed that to Apple’s control issues. I wanted to clarify what that means. After all, how are they actually controlling this?
The easy answer is that Apple controls provisioning by only allowing each provisioning file to work with 100 devices. 100 may sound like a lot if you’re just one person writing code for your machine and maybe that of two or three friends that are serving as your testers, but 100 can run out quickly if you’re a larger operation or if you give one person permission and then they stop working with you for whatever reason.
But what it really does is provides a limit to the number of times you can ‘work around’ their system. If there was no limit, then you are free to leave the walled garden and sell your apps to anyone and just provide them with the provisioning file along with your app. I’m sure it doesn’t matter what the number is to Apple, they just agree that you need some way to test on real devices, but want your ability to share to be limited to a number that is high enough for you, but low enough to never be a practical way for you to escape their control.
When I created my apple developer account I thought it was going to be a breeze to use – just like all of Apple’s products. I was mistaken and it took an embarrassingly long time to demystify Apple’s ‘iTunes Connect’ portal, learn what the hell a provisioning profile was and how to use it and to get a handle on Xcode. In the next several posts I am going to try to outline what I’ve learned from going through the process. But, please, remember that I am NOT a programmer – I’m just a guy with some ideas for Apps that I would like to have. So, I welcome comments and corrections to anything that I say here, just keep it simple for stupid here. After all, Apple does have help if you can find the right document and understand what it says – and I can’t always say that’s easy.
So, here’s my big-picture view of Apple’s process:
1. Most importantly, always remember that Apple is not trying to make things hard, they just want to maintain control over something that can get chaotic very easily.
to join the development program (this one is for iOS devices, there’s a separate one for mac). At $99 / year this is not a horrible expense. You can join as either a single developer or as a company. Since you have to be a legit company to submit apps, you might as well join as a company so you can have several people access the account and use it together (assuming things go your way and this ever becomes a possibility)
3. Download XCode. Whatever the newest version is. Be sure you have good bandwidth and can hang out in one place for a while – I don’t have internet as home because I apparently live in 1986 – I mean, Kansas. I think it took three hours in a cafe to get the whole thing downloaded. Download Xcode even if you’re not the programmer. I’m not one, but you’ll soon realize that you have to be at least somewhat engaged in the programming aspect just to launch things even if you never code a bit.
4. Have a basic understanding of provisioning. This is what took me the longest. I didn’t understand it or know what it was for or anything. Here’s the basics:
Remember what I said about Apple controlling everything? This is one way they do that.
iPhone apps can’t just be loaded onto your device directly. Everything goes through iTunes (Apple’s UberProgram). If you’re buying an app you go through the Apple App Store and the new app shows up in iTunes where you can just checkmark it if it is to go on your phone or uncheck it if it doesn’t – you know that already.
So, if you write an app yourself (Hello World, whatever) and want it on your device, you need Apple’s permission to circumvent their system. This permission comes in the form of a Provisioning Profile. You apply for one of these through the developer portal (apple walks you through the process pretty well here: https://developer.apple.com/library/ios/#recipes/ProvisioningPortal_Recipes/_index.html).
But what is it? How do you use it? Basically, this is a ‘permission slip’ that you integrate into your app (Xcode calls this ‘Code Signing’) and install the same ‘permission slip’ into iTunes. Any iTunes account that has this permission slip can install apps that have the same permission integrated in them. The nice thing is that you just need to drag and drop this file twice. First, into Xcode – then you can select it from within a drop down menu in your XCode file and it gets built in when you ‘build’ your code. On the other side, you drag and drop the file into iTunes and it will now allow any app containing this permission to be installed onto your device without going through the whole App Store Process.
It takes a bit to do all this, but once you understand that it’s just a way to match apps you make to your device and remember that it’s just Apple making sure that it remains in control, then it’s not so difficult.