Introduction
So for any developer than has joined the iPhone Development program and attempted to throw their app on their phone, the process of provisioning is a familiar and likely painful process. Like many developer you may have several projects going on possibly for several organizations. You can think of provisioning as the paper work your app needs to fill out in order to “board” your phone. The process involves ____ steps:
- Get an iPhone Developer Account
- Create a certificate request
- Download your approved certificate
- Register your device
- Create an App Id for some app (eg. com.exampleComapny.exampleProduct
- Create a provisioning profile that says an app with a certain App ID can run on a device with a certain ID
While there may be a headache or two in the first several steps, Apple does provide a fairly robust overview of how to accomplish those things. We are going to focus on a developer who has gone through these steps and has a provisioning profile available on their machine. Now you may have multiple provisioning profiles on a single machine, but doing that just involves more work. I use this quick trick to modify projects to my provioioning profile so that I can helpĀ test etc.
Instructions
Step 1
Assuming you already have a project created, open up the terminal and navigate into the directory for the project. In my case I have a project called “MyTesterProject”.
Step 2
Now if we do an ls command we can see that there is a .xcodeproj in this directory. We are going to navigate into that. Although in Finder this may look like a file, it is actually a bundle or folder that has things contained in it. Using the change directory command (cd) we can navigate into the project.
Step 3
Listing out the directory here we can see that there are several files. The one we are going to focus on is project.pbxproj. This is the file that contains all the configuration settings for this project. What I do here through the terminal is use the command mate to open text mate, however you may use vi or pico or whatever other text editor you like to open the file.
Step 4
Now you are going to search for whatever developer this project is currently linked to. For this example lets pretend that this project is configured for a provisioning profile for “Collin Ruffenach” but we want to change it. Search through this document and find the developers name.
Step 5
You will find the name in a section of text that looks similar to this. You need to replace whatever name is there with your name. The other important field begins with “PROVISIONING_ PROFILE”.
The number that you are to replace the provisioning profile number with will be found in xCode. If you go into xCode and into the Window menu, you will see an option for organizer. In organizer you can see all your provisioning profiles. Pick the one you have made for your self and get the Profile Identifier, this is what you will put for the PROVISIONING_PROFILE:
Step 6
The last thing to do is go into the info.plist file for the project and make sure to change the Bundle Identifier to match the one for the provisioning profile you have. I know at first this seems like a kind of invasive way to do things, but it has really sped up my development and testing time. Hope this tip works for you guys. Thanks for reading and Happy Coding!












9 Comments
Thanks for the nice tutorial. Still that doesn’t fix problem number one: getting average joe user from marketing dept to install it. For example iTunes says *nothing* when you drop in a profile and most of the times average users just do not manage to do it.
It would be so much simpler if Apple provided a hidden appstore and all you’d have to do is give a link to those people so it would installt he app (on authorized phones).
Thanks for the tutorial.
Even if the process is quite complex, I agree that it is well managed by Apple. What is not completely managed by x-code is when, for some unknown reason, the system doesn’t recognize anymore your device as correct for development.
Well, the only solution, found in the web and that apple should manage in some way, is to reboot the device (iPhone or iPod Touch).
Hey Brandon, I couldn’t find the best way to contact you so I decided to leave a message here. Its a pretty simple question, but I cannot figure it out.
I get a warning that says:
“Warning: Receiver ‘Class Name’ is a forward class and corresponding @interface may not exist”.
These methods are in a class called globals, they are class methods. But I’ve used instance methods and got the same error from this class.
Now every thing runs and functions properly but the warnings in xcode are such an eye sore!
I would appreciate any tips or a push in the right direction!
Thanks,
Andy
X-Code/iPhone SDK is new to me and I’m trying to build an app that I can sell through the Apps Store.
I haven’t registered myself yet with Apple but now I’m puzzled by this article, more specific by “Step 4 – Register your device”.
Do I really really need an iPhone of my own in order to become an apps developer??? Because I don’t have an iPhone and have no plans to buy me one (I do have an Intel-based MacBook for developing the apps).
Wanna know why I don’t have an iPhone? Well, that’s because I’m from Belgium and over here they’re more expensive than a solid golden bar that weighs a ton…
Seriously, if you wanna buy an iPhone over here, you’re paying the highest price for your machine WORLDWIDE! So, for the time being no iPhone for me…
But does that mean: no possibility for me to obtain me the developer-status ???
Greetz,
Werner
@Werner Marinus
You don’t need an iphone to develop for them. Once you register you can start developing. By just registering you can test run your code on the iphone simulator that comes with the SDK that you download.
Once you are actually ready to release an app you pay the 99$ for one year. Forget what exactly status this gives you but it also gives you the ability to test your app on your own device.
I could see how this would make your app better because there is only so much you can really do with the simulator. To get the real look and feel down for your app I think having an iphone or ipod touch is a need.
@Andy,
It’s not just about getting the real look and feel down. When you run your app in the Simulator, you’re running different code using different libraries (Intel Mac ones) than those used when you run your app on the phone. On-unit testing is a critical phase of development during which you may well find real bugs that don’t show up in the simulator.
Thanks for the post
I am a windows developer but can’t live without my iphone. I even bought a Mac because of it.
I have a side business selling stuff and I want to make an app that supports that business. I have no reason to sell this app.
My question – do I have to pay $99 a year to keep using this app on just my iphone. when that year expires will I not be able to make changes to my app and load it on the phone?
No, you could just jailbreak your iphone and then follow these instructions: http://iphonesdkdev.blogspot.com/2009/06/use-xcode-312-to-build-sdk-30-app-to-30.html to get it on your device. Then you could also distribute through Cydia, all for free. And none of that is illegal, you can do whatever you want to your own iphone. It is only illegal if you download stolen cracked apps, which isn’t supported by dev-team or the author of Cydia.
What I do not believe I agree with that at all seriously.
4 Trackbacks
[...] also apps not selling well that don’t have this level of piracy going on. Apple already has lots of authentication and validation processes in place, but if app piracy is this big a problem for everyone, they may need to look at [...]
[...] also apps not selling well that don’t have this level of piracy going on. Apple already has lots of authentication and validation processes in place, but if app piracy is this big a problem for everyone, they may need to look at [...]
[...] also apps not selling well that don’t have this level of piracy going on. Apple already has lots of authentication and validation processes in place, but if app piracy is this big a problem for everyone, they may need to look at [...]
[...] also apps not selling well that don’t have this level of piracy going on. Apple already has lots of authentication and validation processes in place, but if app piracy is this big a problem for everyone, they may need to look at [...]