iPad Universal App

This is for the uninitiated and for posterity.
Running XCode 3.2.3.
Please NOTE: I had forgotten this. If you update the OS of your iPlatform device (pod/phone/pad) then you MUST update the XCode SDK. Now this makes sense in a way, however last night’s (8/13/10) update of the device was NOT matched by and Upgrade notification of the XCode SDK platform. I had to go a lookin. Bottom line is, unless you NEED something from that update, don’t do it in the middle of a project. It waste Humungo time. That means ALOT for you marketing weasels.

1) Create a View Based app
2) Name it of course.
3) Drop down the targets folder in the project explorer. Its where it drops you after project creation.
4) Select your named project as the target.
5) Go to the top menu drop down the Project menu.
6) Choose “Upgrade Current Target for iPad…” selection.
7) Choose One Universal Application. It is already selected.
YAH MULE. Head thumping music going now. Very loud is better.
8) Click OK . Umm duh
9) Holy smokes Batman it auto-created the MainWindow~iPad.xib for you. Waycool.
As my speakers blow. Joroto will buy me another set right? Part of the “support you local programmer” program. Right!?
It also created a Resources-iPad Group folder for you. It is in your BEST interest to keep your assets separated. Ya know the graphics, etc.
10) It is autoset for a device. Use the drop down on the left under the window control buttons to change to Simulator, and then choose iPad.
11) Build and Run. Everything is ok.
12) Close it and choose the iPhone simulator. Build and run. Everything is ok.
13) You have an icon for your app right? RIGHT!? Double tap the (your project name).plist.
This is the file that tells the app store and the iPlatform OS where to start when running you app and showing things when the app isn’t running.
14) Fifth line down it says “Icon file”. Double tap the blank line on the right and enter the name of your icon. You don’t need the extension, it assumes png. No path is necessary.
So how does it know where the graphic is?
15) Right two-finger tap the Resources Group line. The context menu comes up. Move the cursor over Add, then choose existing file. Now find your file and choose Add (lower right hand corner of the Finder window). A Dialog pops up. I always choose the ALSO COPY the file into the project. This is so all my projects are self contained.
16) Now we want a splash screen, because your bloated code (unless you grew up on CP/M and embedded systems like I did, or had an excellent mentor) will load too slowly.
In the editing of the (your project name).plist where you placed the icon information:
Double finger tap and choose Add Row.
From the list choose “Launch Image (iPad)” selection.
Tap the blank box to the right and enter the name of your splash screen graphic.
Import that graphic into the project using the technique in step 15.
You’ll need a splash images sized for the iPad and then ANOTHER for the iPhone. Graphic Artists are loving this.

Ok you’re cooking with gasoline. Build and run on each simulator. You should see your splash screen, then hit the round button at the bottom of the simulator and you’ll see your icon on the simulator home screen.

Naming convention, although I have yet to fully test this.
(Image name)-(orientation)~(device)@(size).png
For ours its:

“Remember, No matter where you go, there you are”
Buckaroo Bonsai

Peace. Unless war is necessary.

2 thoughts on “iPad Universal App

  1. You are such a putz. You understand NOTHING. That’s why I’m the programmer and YOU’RE the pretty face.
    Why did you even TRY to use that pea brain of yours? They could cut my head off and I would still be able to out think the marketing weasel.

    Cooking with GASOLINE means:
    1) ITS DANGEROUS ! In programming parlance one is usually dangerous when they can get past the hello world stage and they understand a little of the programming.
    2) One is able to LAUNCH their development process without figuring out all these nuances that inevitably rise.

Leave a Reply

Your email address will not be published. Required fields are marked *