iPhone Tutorial for Beginner | Programmer | Developer

Help to build mobile applications for Apple Store

Beginner iPhone SDK Hello World Tutorial [Example & Code]

Posted by Adeem Basraa On July - 3 - 2009
New in iPhone Development? You can now follow this blog on google readers or subscribe for email or Twitter!
If my tutorial help you then please donate, so that i continue writing free tutorials for every developer/programmer/freelancer

Introduction:

I am going to show you the simplest way to create hello world iPhone tutorial. I will write few more tutorials on the basic of iPhone Development. So this tutorial is an absolute beginner guide for iphone development. To get start with iPhone development you need to have iPhone SDK which you can get from here (http://developer.apple.com/iphone). To download it you need to have a apple developer account which is free for everyone. To test the code on device (iPhone) you need to buy a developer license which cost you 99$ or 299$ for enterprise.

Getting Started with iPhone Development:

To start with hello world iPhone tutorial, you should read the “getting started with iPhone” tutorial which covers the things you need to know before starting development for iPhone( You can also watch the video tutorial of “Getting Started with iPhone” ). I also write a tutorial for businessman and designer to know about the iPhone development cycle (”iPhone Development Guide” ). So if you are a beginner for iPhone, you should read my tutorial before starting iPhone development.

Idea of this tutorial:

There are already many tutorials on hello world in iPhone but I want to write a very basic tutorial on iPhone sdk which will cover xcode, iphone project files and interface builder. This is a basic hello world tutorial which will be extended to a big project later on. So before reading other tutorials on my blog I highly recommended you to read this beginner’s Guide to iPhone development. OR you can watch the video tutorial here if you have no time to follow easy steps :) .

Final output of hello world tutorial

customize UITableView using UITableViewCell
Hello world iPhone tutorial Output

Simple Steps to create hello world iPhone application

Step 1:If you have read the getting started tutorial, then you have a xcode installed on your mac machine. Open the Xcode and click on File > New Project. Select “View-Based Application” and click on “Choose..” button. Name this project “Hello World” and click “Save” button. Now you have a template for your hello world iphone project.

customize UITableView using UITableViewCell
Create a new Xcode Project for iPhone application

customize UITableView using UITableViewCell
Select the basic design for your first iPhone application

customize UITableView using UITableViewCell
Name your first iPhone applcation

customize UITableView using UITableViewCell
Xcode project template created

Step 2:Now click on Build and Go button to run this template application. It will start the iPhone simulator and you can see a gray screen on that. Click on Home button and it will show you a HelloWorld icon on the dash board of iPhone simulator. If you click on it again, it will open the application again. iPhone simulator is best tool to test your application before you deploy it on your device for testing or even before submitting to apple store.

customize UITableView using UITableViewCell
Build your First iPhone application

customize UITableView using UITableViewCell
Output of your first iPhone application
customize UITableView using UITableViewCell
Press this button to quit your first iPhone application

Step 3:Now open Xcode project and select HelloWorldViewController.h file and type the following code inside interface:

IBOutlet UITextField *txtUserName;
IBOutlet UILabel *lblUserTypedName;
Also write this method before end of this class
- (IBAction) submitYourName;


Step 4:So your HelloWorldViewController.h file will look like this:

#import <UIKit/UIKit.h>

@interface HelloWorldViewController : UIViewController {
IBOutlet UITextField *txtUserName;
IBOutlet UILabel *lblUserTypedName;
}

- (IBAction) submitYourName;
@end

Step 5:Now open HelloWorldViewController.m file and type this method before @end
- (IBAction) submitYourName;{
lblUserTypedName.text = txtUserName.text;
}

Step 6:Now lets start some design on interface builder. For that open your xcode project and in “Group & Files” looked at bottom, you will see “NIB Files”, expand it and you will see two design files for your classes. One is the MainWindow.xib which is the main window or entry point to your application. Other one is HelloWorldViewController.xib file which is mapped to your controller class “HelloWorldViewController.h. For now I just want to change in HelloWorldViewController.xib file. Double click on that file to open it inside interface builder.

customize UITableView using UITableViewCell
Structure of your iPhone application
customize UITableView using UITableViewCell
Interface builder Look

Step 7:Click on Tools  and select Libaray (cmd + shift + L) and drag the text field to your view. As text field is already selected, click on Tools>Inspector (cmd + 1) and in Text field type “Your Name”.

customize UITableView using UITableViewCell
Add label to your First iPhone application
customize UITableView using UITableViewCell
Change text in your UILable

Step 8:Now drag the TextField from Library to your view (cmd+shift+L)  and also drag another Label inside view. Make sure label is selected, Click on tools and select “Size Inspector” (cmd + 3) and change the width of this text field to 250. Also go to tools and select Inspector, change the layout to center.

customize UITableView using UITableViewCell
Add Text field to your first iPhone application
customize UITableView using UITableViewCell
Add another label to your First iPhone application
customize UITableView using UITableViewCell
Change Label Width
customize UITableView using UITableViewCell
Center UILabel from Interface Builder

Step 9:Last thing is to drag a button to the view (19) and then open Inspector again by selecting tools>Inspector. In Title type “Submit”.

customize UITableView using UITableViewCell
Add button to your First iPhone Application
customize UITableView using UITableViewCell
Change Text in your UIButton

Step 10:Now map the controller class variable function and methods with interface builder. Select File’s Owner in Interface builder and select connection inspector from Tools cmd + 2

customize UITableView using UITableViewCell
Map your controller with Interface Builder

Step 11:Now you can see that two new variables are added in connection inspector txtUserName and lblUserTypedName. Click on txtUserName radio button and drag it to text field in view (as you can see in the image)

customize UITableView using UITableViewCell
Map your text field with Interface builder

Step 12:Do the same with lblUserTypedName, select its radio and drag it to below label.

customize UITableView using UITableViewCell
Map your label field with Interface builder

Step 13:Now the last step is, click on submitYourName radio and drag it to the button and select touch down from the list.

customize UITableView using UITableViewCell
Map your button with Interface builder
customize UITableView using UITableViewCell
Set action type of Button

Step 14:Now close the interface and open xcode. Either press cmd + r or cmd + enter or simply press of “build and go” button to run this hello world application. It will open the simulator in iPhone.
Final output

customize UITableView using UITableViewCell
Your first iPhone application Running in simulator

iPhone hello world tutorial code

You can grab this code from here.

Now watch me doing it

Click on this link to view the video screen cast for hello world iPhone application tutorial.

Popularity: 99% [?]

Related posts:

  1. Getting Started with iPhone Development Absolute Beginner's Guide to iPhone Development | Getting Started with...
  2. Bypass Code Signature & Published Your Application on Cydia Published iPhone Application On Cydia. Build your application for jail...

28 Responses to “Beginner iPhone SDK Hello World Tutorial [Example & Code]”

  1. Toru says:

    Thanks for very nice tutorial! This was very helpful for me.

    BTW, I found a few miner errors:

    Step 3 & 4
    lblUserTypeName -> lblUserTypedName

    Step 5
    Do we need semicolon after submitYourName?

    Step 6
    “NIIB Files” -> “NIB Files”

    Step 7
    text field -> label

  2. Adeem Basraa says:

    Thax Toru for correcting me :)
    About step 5, there is no difference if you put semicolon after the function. But still thanks lot :)

  3. iPhoniacos says:

    Thanks for this great tutorial. I’m starting.

  4. Ramsees says:

    I do not understand this line of text, “Now map the controller class variable function and methods with interface builder.” I would be happy if someone explained it to me

  5. Adeem Basraa says:

    Interface builder is really a handy tool. Once you write the code on your controller and want to link UILabel and UITextField or UIButton to your views which you made. You have to link them. So link would be a better word to use here (sorry).

    What I want you to do is, after writing the code you want some connection between code and your views (which you design in interface builder). So you select the controller (File’s Owner) and then press cmd + 2 to open Inspector. Now in that place you can see all your class variables or methods which you declare as IBOutlet or IBAction in your .h (header) file.

    So what I want here from your side is, select File’s Owner and then open inspector. Then you will have to link those class variables to interface builder design. You can see the Images or Video I attached with this post. If you still have questions regarding iPhone. Please feel free to contact me.

  6. Topkingtips says:

    Thanks for you share now:)really usefull tips

  7. AshTemple says:

    Thanks for this, i just made my first iPhone app!

  8. [...] After about half a day of downloading the SDK, i settled on trying a simple hello world tutorial from Adeem Basraa site [...]

  9. Steve H says:

    Thanks for these tutorials. Please, include a script in each tutorial that uses it that makes the keyboard go away. The tut is not finished until the keyboard is gone.

    Thanks!

  10. Adeem Basraa says:

    @Steve,
    I am adding a tutorial 2 tomw and you can check it how to hide the Keyboard in that :)

  11. Abhi says:

    Hi Adeem,

    Thanks for the tutorial. I’m just starting and followed the tutorial, but got stuck at “map the controller class variable function and methods “.
    I selected the “File’s Owner” and then opened the connections inspector, but I don’t see the variables there which I could map.

    Could you please help.

  12. Adeem Basraa says:

    @Abhi
    send me your code at info @ adeem.me and I will check what you are doing wrong :)

  13. Manuel F Martinez says:

    Hi everyone,

    I think must people are getting trouble mapping the controller class variables and functions on interface builder because they didn’t build the application before to go into the interface builder.

    It could be solved by adding “Build the application with cmd + B” at the end of the step 5.

    Hope this helps.

    Thanks,

  14. Sara says:

    Hello,

    I am just starting so spare with me and thank you very much for the tutorial. I finally was able to make the connections between the variables and the user interface. However, when I run the simulator the screen exits the controller view. So I click again on the app, it acts as if is trying to open the controller view but it doesn’t it just exits again. Any idea of what’s going on there?

  15. Imad Qureshi says:

    I think you can use eclipse with aptana plugin to do iPhone app development in windows. Isn’t it true?

  16. Dahupi says:

    Great Tutorial – Will keep doing more…

  17. hi says:

    this does not work the code messes up says 8 errors 1 warning why????

  18. SD says:

    Excellent tutorial especially for a beginner like myself! Thanks.

  19. BJ says:

    Hi, I just downloaded and on Snow Leopard. There don’t seem to be a View-Base Application to choose.
    I see only Cocoa Application, Cocoa-AppleScript,Quartz Composer and Command Line Tool. Thanks.

  20. Andrew Ames says:

    A helloWorld tutorial should be aimed at complete noobs, yet steps 3 and 4 have no explanation of what the hell you are doing

    I presume they are creating instances of the text field and label, but me being a noob assumed that this would be done using the IB somehow?

    Stupid tutorial man, you need to explain what your getting the noob to do otherwise they aint learning jack

  21. P says:

    Great tutorial for starters! I just made my first working iPhone app thanks to this tutorial!

    I’m definitely going to check back here later for more tutorials:)

    Keep up the good work!

  22. MH says:

    BJ, I have the same problem, downloaded iPhone SDK, but Xcode does not show the View-based icon. Did you resolve the issue?

  23. MH says:

    In fact, to add to my question, the iPhone section in Xcode is missing. Only the Mac OS X section is there. I have installed the iPhone SDK 3.1.3 for Leopard (I have version 10.6.2) with Xcode updates from developer.apple.com/iphone ….

  24. MH says:

    Solved. Apparently my existing Xcode was not updated, but a new Xcode (with iPhone development stuff) was installed in another location. That one has both iPhone and Mac development.

  25. David says:

    Hi,
    I get this error when compiling and can’t figure it out:

    - (IBAction) submitYourName;
    {
    SecondViewController *controller = [[SecondViewController alloc] initWithNibName:@”SecondView” bundle:nil];
    [self.navigationController pushViewController:controller animated:YES];
    [controller setUserSelectedName:txtName.text];

    error: ‘txtName’ undeclaired’ (first use in function)

    I have tried everythig I can think of, can you shed some much needed light?

    Thanks, David

    // lblUserTypeName.text = txtUserName.text;
    }

  26. Dmitry says:

    Hi,Guys, thank’s a lot for a lesson. One question: On the eleventh step in outlets window i can see only one outlet “view”, instead of your screenshots, where is a problem, can you help me please.
    BR
    Dmitry

  27. Adeem Basraa says:

    @Dmitry
    Can you see what is selected? Did you select the “Files owner” ?

  28. Dmitry says:

    Hi Adeem Basraa!
    I did on the 5th step cmd-b and everythings fime right now!.
    Thankl you for this lesson!
    Best Wishes!

Leave a Reply

Support Me $5

Subscription Options: