Jan 20
Das erste eigene iPhone Programm: Hello World
Nachfolgend habe ich eine Anleitung geschrieben wie man mit dem hier vorgestelltem SDK sein erstes "Hello World Programm" erstellt. Diese Anleitung ist für alle die sich mit Programmieren auskennen, wer Objective C und Cocoa kennt ist natürlich klar im Vorteil, da UIKit Programme auf dem Cocoa Framework aufbauen.
- Xcode öffnen
- Im Menü File => New Project… wählen
- Unter Application den Punkt iPhone UIKit Application selektieren und dann auf Next klicken.
- Im folgenden Dialog im Feld Project Name "HelloWorld" eingeben und auf Finish klicken.

- Xcode legt nun Anhand der Template ein jungfräuliches iPhone UIKit Projekt an. Es öffnet sich das Projektfenster.

-
Für uns wichtig ist die Klasse HelloWorldApp. Sie ist die Controller-Klasse für die Applikation. Öffnen wir zuerst das Header File der Klasse und ändern es wie folgt:
#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> #import <UIKit/UIApplication.h> #import <UIKit/UIPushButton.h> #import <UIKit/UITableCell.h> #import <UIKit/UIImageAndTextTableCell.h> @interface HelloWorldApp : UIApplication { UIImageAndTextTableCell *pbCell; UITableCell *buttonCell; } @end -
Nun öffnen wir HelloWorldApp.m und ändern es wie folgt:
#import <CoreFoundation/CoreFoundation.h> #import <Foundation/Foundation.h> #import <UIKit/CDStructures.h> #import <UIKit/UIPushButton.h> #import <UIKit/UIThreePartButton.h> #import <UIKit/UINavigationBar.h> #import <UIKit/UIWindow.h> #import <UIKit/UIView-Hierarchy.h> #import <UIKit/UIHardware.h> #import <UIKit/UITable.h> #import <UIKit/UITableCell.h> #import <UIKit/UITableColumn.h> #import "HelloWorldApp.h" @implementation HelloWorldApp - (int) numberOfRowsInTable: (UITable *)table { return 2; } - (UITableCell *) table: (UITable *)table cellForRow: (int)row column: (int)col { return row ? buttonCell : pbCell; } - (UITableCell *) table: (UITable *)table cellForRow: (int)row column: (int)col reusing: (BOOL) reusing { return pbCell; } - (void) applicationDidFinishLaunching: (id) unused { UIWindow *window; window = [[UIWindow alloc] initWithContentRect: [UIHardware fullScreenApplicationContentRect]]; pbCell = [[UIImageAndTextTableCell alloc] init]; [pbCell setTitle: @"Hello world!"]; UIPushButton *button = [[UIThreePartButton alloc] initWithTitle: @"Touch Me"]; float blackArray[4] = { 0.0f, 0.0f, 0.0f, 1.0f }; CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); [button setTitleColor: CGColorCreate(colorSpace, blackArray) forState: 0]; buttonCell = [[UITableCell alloc] init]; [buttonCell addSubview: button]; [button sizeToFit]; UITable *table = [[UITable alloc] initWithFrame: CGRectMake(0.0f, 48.0f, 320.0f, 480.0f - 16.0f - 32.0f)]; UITableColumn *col = [[UITableColumn alloc] initWithTitle: @"HelloApp" identifier: @"hello" width: 320.0f]; [window orderFront: self]; [window makeKey: self]; [window _setHidden: NO]; [table addTableColumn: col]; [table setDataSource: self]; [table setDelegate: self]; [table reloadData]; UINavigationBar *nav = [[UINavigationBar alloc] initWithFrame: CGRectMake( 0.0f, 0.0f, 320.0f, 48.0f)]; [nav showButtonsWithLeftTitle: @"Foo" rightTitle: @"Bar" leftBack: YES]; [nav setBarStyle: 0]; struct CGRect rect = [UIHardware fullScreenApplicationContentRect]; rect.origin.x = rect.origin.y = 0.0f; UIView *mainView; mainView = [[UIView alloc] initWithFrame: rect]; [mainView addSubview: nav]; [mainView addSubview: table]; [window setContentView: mainView]; } @end -
Nun starten wir den Build-Prozess entweder über das Menü Build => Build, den Nuild Button im Prrojektfenster oder die Tastenkombination Command-B. Wenn Sie Ihr SDK wie hier beschrieben eingerichtet haben und dies der erste Build ist, dann fragt Xcode nach der SSH Passphrase des iPhones. Am besten man speichert sie gleich im Schlüsselbund, damit man sie nicht bei jedem Buld eingeben muss. Das fertige Programm wird nun zum iPhone übertragen und das Springboard wird neu gestartet.
- Durch Klick auf Das HelloWorld Icon startet man nun sein HelloWorld Programm:

So, nun hat man einen Überblick wie ein iPhone Programm aufgebaut ist und wer schon Erfahrung mit Cocoa und Ojective C hat, kann nun mit Hilfe der Code Referenz von Erica Sadun loslegen seine eigenen iPhone Programme zu schreiben.








28.01.2008 um 01:33 Uhr
[…] wir nun unser erstes Erfolgserlebnis mit dem Hello World Programm fürs iPhone hatten, möchte ich hier eine Anleitung veröffentlichen wie man in iPhone UIKit Applikationen auf […]
09.11.2008 um 09:33 Uhr
Netter Programmierer Witz. 82 Zeilen Programmierung für ein “Hello World!”. Ich habe sehr gelacht.
01.02.2009 um 10:07 Uhr
Funktioniert nicht!
15.03.2009 um 14:58 Uhr
ich habe eine frage. ich habe kein mac und auch kein iphone. kann ich unter windows iphone programmieren?
15.03.2009 um 15:07 Uhr
Nur mit der inoffiziellen ToolChain und dann nur für jailbroken iPhones. Dafür brauchst Du aber ein iPhone bzw einen iPod Touch, sonst kannst Du das was Du programmierst nicht testen, da es für Windows keinen Simulator gibt. Um Apps für den AppStore zu programmieren, benötigst Du auf jeden Fall einen Mac und ein iPhone oder iPod Touch ist auch empfehlenswert, da nicht jeder Code, der auf dem Simulator funktioniert auch auf dem iPhone funktioniert!
15.03.2009 um 15:42 Uhr
dann werde ich mir besser was anlegen. ich habe eine gute idee fuer ein spiel. ich weiss nicht ob ich es schaffe es selber zu entwicklen.
26.05.2009 um 01:00 Uhr
Hallo.
Ich höre ja viel über diese Toolchain für iPhone Entwicklung mit Windows. ABER ich bin skeptisch. Vor allem weil man so viel darüber hört aber niergendwo brauchbaren Code und beispiele findet!! Wenn ihr Beispiele habt für mich und ordentliches Tut. michael.bergfeld@freenet.de
27.02.2010 um 16:40 Uhr
ihr könnt auch glaub ich mit hilfe von crossover os x auf eurem windows pc laufen lassen ist so ne art emulator für os x. Bin mir jetzt nicht mehr sicher das es unter windows genau so heißt wie unter os x. für os x gibt es auf jeden fall crossover.
28.07.2011 um 10:27 Uhr
Für ein “einfaches” Hello World Programm vll. ein bisschen umständlich ;) Das geht auch etwas einfacher! :D
02.10.2011 um 13:24 Uhr
Hey, danke für das Tutorial :-) was ich allen nur empfehlen kann ist dieses pdf das ist echt super für die Grundlagen ;-)
http://bedifferently.wordpress.com/2011/10/02/pdf-tipp-become-an-xcoder/