<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Nikolas Schrader</title>
	<atom:link href="http://nikolasschrader.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://nikolasschrader.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 04 Jun 2009 16:00:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Hello World &#8211; Objective-C und Cocoa</title>
		<link>http://nikolasschrader.com/hello-world-objective-c-und-cocoa/</link>
		<comments>http://nikolasschrader.com/hello-world-objective-c-und-cocoa/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 16:00:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Xcode]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Prog-Blog]]></category>

		<guid isPermaLink="false">http://nikolasschrader.com/?p=143</guid>
		<description><![CDATA[Dieses Hello World Tutorial, beschäftigt sich mit der Programmierung auf dem Mac, wie jede Programmiersprache soll, obwohl es die gleiche ist, wie auf dem iPhone, auch diese Hello World Tutorials bekommen. Dieses Tutorial ist in zwei Teile geteilt, im ersten wird beschrieben wie man ein Hello World Programm, ohne User Interface, schreiben kann, dass seinen “Hello World!“ Code in der Konsole ausgibt, das zweite befasst sich mit einer graphischen “Hello World“ Lösung, worin nur mit Hilfe eines Custom Views der “Hello World!“ String ausgegeben werden kann.]]></description>
			<content:encoded><![CDATA[<div id="part">
<div id="part_head">
<h2 class="left">#1 &#8211; Consolen Hello World</h2>
<h2 class="right">Neues Projekt</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/hwocuc/newfound.png" alt="Neues Projekt"/>
		</div>
<div id="text_part"  class="right">
			Da man für ein Konsolen Programm kein eigenes User Interface benötigt, reicht es aus, wenn man ein Template ohne User Interface verwendet. Erstellen Sie dafür ein neues Projekt, wählen <b>Command Line Utility | Foundation Tool</b> und Speichern es.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#2 &#8211; Consolen Hello World</h2>
<h2 class="right">Build and Go</h2>
</p></div>
<div id="part_content">
<div class="right">
			<img src="http://nikolasschrader.com/post_imgs/hwocuc/buildcons.png" alt="Build and Go"/>
		</div>
<div id="text_part"  class="left">
			Klicken Sie im Projektfenster auf <b>Build and Go</b> und öffnen die <b>Console</b> (⇧  R), wo Ihnen ungefähr folgendes ausgegeben wird.
		</div>
<div id="code">
			[Session started at 2009-06-04 17:08:16 +0200.]<br />
			<b>2009-06-04 17:08:16.247 Hello World[31331:10b] Hello, World!</b></p>
<p>			The Debugger has exited with status 0.
		</p></div>
<div id="text_part">
			Die einzige für dieses Tutorial relevante Zeile aus der Ausgabe ist die zweite Zeile, links wird angezeigt, wann, was ausgeführt wurde. Doch das interessante ist ausschließlich der rechte Teil, “Hello, World!&#8221;.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#3 &#8211; Consolen Hello World</h2>
<h2 class="right">Code</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/hwocuc/codecons.png" alt="Code"/>
		</div>
<div id="text_part"  class="right">
			“Hello World!&#8221; wurde in der <b>Console</b> ausgegeben, ohne das eine einzige Zeile Code geschrieben wurde, wie ist das möglich? Guckt man sich den Code in <i>Hello World.m</i> an, sieht er wie folgt aus.
		</div>
<div id="code">
			<span class="CodeBrown">#import</span> <span class="CodeRed">&lt;Foundation/Foundation.h&gt;</span><br />
			<span class="CodePink">int</span> main (<span class="CodePink">int</span> argc, <span class="CodePink">const char</span>  * argv[]) {</p>
<div class="paddingclass">
				NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];<br />
				<br />
				<span class="CodeGreen">// insert code here&#8230;</span><br />
				<span class="CodeViolet">NSLog</span>(<span class="CodeRed">@&#8221;Hello, World!&#8221;</span>);<br />
				[pool drain];<br />
				<span class="CodePink">return</span> <span class="CodeBlue">0</span>;
			</div>
<p>			}
		</p></div>
<div id="text_part">
			Wie man sehen kann, hat Xcode beim Erstellen des Projekts mit der Codezeile “<span class="CodeViolet">NSLog</span>(<span class="CodeRed">@&#8221;Hello, World!&#8221;</span>);“ einen NSLog geschaffen, der bei der Ausführung die Console dazu bringt, “Hello World“ auszugeben.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#1 &#8211; Graphisches Hello World</h2>
<h2 class="right">Neues Projekt</h2>
</p></div>
<div id="part_content">
<div class="right">
			<img src="http://nikolasschrader.com/post_imgs/hwocuc/newgraph.png" alt="Neues Projekt"/>
		</div>
<div id="text_part"  class="left">
			Im zweiten Teil soll “Hello World“ in einem Fenster eines Programmes erscheinen, natürlich könnte man jetzt, wie ich bereits im iPhone Hello World Posts beschrieben habe, einfach ein <b>Label</b> mit dem Inhalt des “Hello World“ Textes in das Fenster eines Programmes ziehen und anzeigen lassen &#8211; diese Möglichkeit ist aber zu einfach. Erstellen Sie daher ein neues Projekt, diesmal <b>Application | Cocoa Application</b>, bennenen und speichern es.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#2 &#8211; Graphisches Hello World</h2>
<h2 class="right">Interface Builder</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/hwocuc/intgraph.png" alt="Interface Builder"/>
		</div>
<div id="text_part"  class="right">
			Öffnen Sie, durch Doppelklick auf <i>MainMenu.xib (English)</i> im Projektfenster, das <b>User Interface File</b>. Da weder ein Textfeld, noch ein Label zur Darstellung des “Hello World“ Strings eingesetzt werden soll, wird ein <b>View</b> verwendet. Ziehen Sie dazu aus der <b>Library</b> des <b>Interface Builders</b> einen <b>Custom View</b> in das Fenster und vergrößern ihn im Anschluss so, dass er das ganze Fenster füllt. Damit das auch so bleibt, wenn man, während das Programm läuft, das Fenster größer bzw. kleiner zieht, klicken sie im <b>Size Inspector</b> ( 3) alle Pfeile an, sodass diese rot eingefärbt werden. Anschließend setzen sie die <b>Class</b> im <b>Identity Inspector</b> ( 6) auf MyView. <br />
			Anschließend werden zwei <b>Class Files</b> für den <i>MyView</i> benötigt. Der <b>Interface Builder</b> kann das Erstellen übernehmen, klicken Sie dazu auf <b>File | Write Class Files…</b> und speichern es, beachten Sie dabei, dass <b>Create &#8216;.h&#8217; file</b> aktiv ist. Wenn Sie gefragt werden, ob die Files dem Projekt hinzugefügt werden sollen, bestätigen Sie dies. <br />
			Speichern Sie die Änderungen und schießen den <b>Interface Builder</b>
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#3 &#8211; Graphisches Hello World</h2>
<h2 class="right">Code.h</h2>
</p></div>
<div id="part_content">
<div class="right">
			<img src="http://nikolasschrader.com/post_imgs/hwocuc/code_h.png" alt="Code.h"/>
		</div>
<div id="text_part"  class="left">
			Im Projektfenster gibt es jetzt zwei neue Files, <i>MyView.h</i> und <i>MyView.m</i>. Ergänzen Sie den Code des <i>MyView.h</i> Files, sodass es wie folgt aussieht.
		</div>
<div id="code">
			<span class="CodeBrown">#import</span> <span class="CodeRed">&lt;Cocoa/Cocoa.h&gt;</span><br />
			<br />
			<span class="CodePink">@interface</span> MyView : NSView {</p>
<div class="paddingClass">
				<span class="CodeViolet">NSString</span> *string;<br />
				<span class="CodeViolet">NSFont</span> *font;
			</div>
<p>			}<br />
			<br />
			- (<span class="CodePink">id</span>)initWithFrame:(<span class="CodeViolet">NSRect</span>)frame;<br />
			- (<span class="CodePink">BOOL</span>)isFlipped;<br />
			- (<span class="CodePink">void</span>)setString:(<span class="CodeViolet">NSString</span> *)value;<br />
			- (<span class="CodePink">void</span>)setFont:(<span class="CodeViolet">NSFont</span> *)value;<br />
			- (<span class="CodePink">void</span>)drawRect:(<span class="CodeViolet">NSRect</span>)rect;<br />
			<br />
			<span class="CodePink">@end</span>
		</div>
<div id="text_part">
		In diesem Programm gibt es zwei Variablen, eine für den Text, der angezeigt werden soll, und eine für die Schrift, mit der der Text angezeigt werden soll. Die unten aufgelisteten Methoden  sorgen dafür, dass eine Initialisierung durchgeführt, das Koordinatensystem gespiegelt wird, die beiden Variablen definiert werden und  ein Rechteck (<b>rect</b>) eingezeichnet wird.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#4 &#8211; Graphisches Hello World</h2>
<h2 class="right">Code.m</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/hwocuc/code_m.png" alt="Code.m"/>
		</div>
<div id="text_part"  class="right">
			Würde man jetzt den Code compilieren und ausführen, treten zwar keine Fehler auf, aber man bekommt auch kein Ergebnis, da der wichtige Code noch garnicht geschrieben wurde. Wechseln Sie daher zu <i>MyView.m</i> und ergänzen dort den Code, innerhalb von “<span class="CodePink">@implementation</span>“ und “<span class="CodePink">@end</span>&#8220;. Als erstes die Initialisierung und das Spiegeln des Koordinatensystems.
		</div>
<div id="code">
		- (<span class="CodePink">id</span>)initWithFrame:(<span class="CodeViolet">NSRect</span>)frame {</p>
<div class="paddingClass">
			[<span class="CodePink">super</span> <span class="CodeViolet">initWithFrame</span>:frame];<br />
			[<span class="CodePink">self</span> <span class="CodeViolet">setString</span>: @"Hello World!"];<br />
			[<span class="CodePink">self</span> <span class="CodeViolet">setFont</span>: [<span class="CodeViolet">NSFont systemFontOfSize</span>: <span class="CodeBlue">18</span>]];<br />
			<span class="CodePink">return self</span>;
		</div>
<p>		}</p>
<p>		- (<span class="CodePink">BOOL</span>)isFlipped {</p>
<div class="paddingClass">
			<span class="CodePink">return YES</span>;
		</div>
<p>		}
		</p></div>
<div id="text_part">
			Anschließend der Code für beide Variabeln.
		</div>
<div id="code">
		- (<span class="CodePink">void</span>)setString:(<span class="CodeViolet">NSString</span> *)value {</p>
<div class="paddingClass">
			[string <span class="CodeViolet">autorelease</span>];<br />
			string = [value <span class="CodeViolet">copy</span>];<br />
			[<span class="CodePink">self</span> <span class="CodeViolet">setNeedsDisplay</span>: <span class="CodePink">YES</span>];
		</div>
<p>		}</p>
<p>		- (<span class="CodePink">void</span>)setFont:(<span class="CodeViolet">NSFont</span> *)value {</p>
<div class="paddingClass">
			[font <span class="CodeViolet">autorelease</span>];<br />
			font = [value <span class="CodeViolet">retain</span>];<br />
			[<span class="CodePink">self</span> <span class="CodeViolet">setNeedsDisplay</span>: <span class="CodePink">YES</span>];
		</div>
<p>		}
		</p></div>
<div id="text_part">
			Zuletzt soll alles noch angezeigt werden, was durch folgenden Code erreicht wird.
		</div>
<div id="code">
		- (<span class="CodePink">void</span>)drawRect:(<span class="CodeViolet">NSRect</span>)rect {</p>
<div class="paddingClass">
			[[<span class="CodeViolet">NSColor whiteColor</span>] <span class="CodeViolet">set</span>];<br />
			<span class="CodeViolet">NSRectFill</span>( rect );<br />
		<br />
			<span class="CodeViolet">NSRect</span> myRect = [<span class="CodePink">self</span> <span class="CodeViolet">bounds</span>];<br />
			<span class="CodeViolet">NSMutableDictionary</span> *attribs = [<span class="CodeViolet">NSMutableDictionary</span> dictionary];<br />
			[attribs <span class="CodeViolet">setObject</span>: font <span class="CodeViolet">forKey</span>: <span class="CodeViolet">NSFontAttributeName</span>];<br />
			[string <span class="CodeViolet">drawAtPoint</span>: <span class="CodeViolet">NSMakePoint</span>((myRect.<span class="CodeViolet">size</span>.<span class="CodeViolet">width</span>/<span class="CodeBlue">2</span> - <span class="CodeBlue">50</span>), (myRect.<span class="CodeViolet">size</span>.<span class="CodeViolet">height</span>/<span class="CodeBlue">2</span> - <span class="CodeBlue">10</span>) ) <span class="CodeViolet">withAttributes</span>:attribs];
		</div>
<p>		}
		</p></div>
<div id="text_part" >
			Die ersten beiden Zeilen sorgen dafür, dass das Rechteck mit einem weißen Hintergrund gefüllt werden soll. Zuletzt wird mit den in “-initWithFrame:“ vordefinierten Attributen das “Hello World!“ gezeichnet.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#5 &#8211; Graphisches Hello World</h2>
<h2 class="right">Build and Go</h2>
</p></div>
<div id="part_content">
<div class="right">
			<img src="http://nikolasschrader.com/post_imgs/hwocuc/buildgraph.png" alt="Build and Go"/>
		</div>
<div id="text_part"  class="left">
			Wenn Sie jetzt auf <b>Build and Go</b> im Projektfenster klicken, wird, solange kein Fehler auftritt, auf einem weißen Hintergrund im Fenster des “Hello World“ Programmes “Hello World“ ausgegeben.
		</div>
</p></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://nikolasschrader.com/hello-world-objective-c-und-cocoa/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hello World &#8211; iPhone</title>
		<link>http://nikolasschrader.com/hello-world-iphone/</link>
		<comments>http://nikolasschrader.com/hello-world-iphone/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 14:05:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Xcode]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Prog-Blog]]></category>

		<guid isPermaLink="false">http://nikolasschrader.com/?p=129</guid>
		<description><![CDATA[Traditionell wird jede neue Programmiersprache mit einem “Hello World“ Programm begonnen, in diesem Tutorial werden zwei Möglichkeiten dargestellt, wie “Hello World“ graphisch auf dem iPhone ausgegeben werden kann. Im ersten Teil wird das “Hello World“ Programm ausschließlich im Interface Builder erstellt, im darauf folgenden wird “Hello World“ einerseits innerhalb eines UITableViews und andererseits als Titel ausgegeben.]]></description>
			<content:encoded><![CDATA[<div id="part">
<div id="part_head">
<h2 class="left">#1 &#8211; Interface Builder Hello World</h2>
<h2 class="right">Neues Projekt</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/hwitw/viewbased.png" alt="View-Based Application"/>
		</div>
<div id="text_part"  class="right">
			Für diesen Teil des Tutorials wird mit einer <b>View-Based Application</b> gearbeitet, man kann dieses Template unter <b>iPhone OS | Application | View-Based Application</b>, wenn man ein neues Projekt erstellt (⇧  N), finden. Speichern Sie das Projekt unter dem Namen “Hello World“ ab.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#2 &#8211; Interface Builder Hello World</h2>
<h2 class="right">Öffnen des UI-Files</h2>
</p></div>
<div id="part_content">
<div id="text_part">
			Sobald das Projekt erstellt ist, wird das Projektfenster geöffnet. Anschließend wird das <b>Interface Builder</b> File, <i>Hello_WorldViewController.xib</i>, das man entweder im <b>Detail View</b> (auf der rechten Seite) oder unter <b>Resources | Hello_WorldViewController.xib</b> in der <b>Groups &amp; Files List</b> (linke Seite) finden kann, geöffnet.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#3 &#8211; Interface Builder Hello World</h2>
<h2 class="right">Hinzufügen eines Labels</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/hwitw/label.png" alt="Hinzufügen eines Labels"/>
		</div>
<div id="text_part"  class="right">
			Ziehen Sie aus der <b>Library</b> ein <b>Label</b> in den <b>View</b> und skalieren es so, dass die linke und die rechte Kante auf den blauen Hilfslinien liegen. Öffnen Sie dann den <b>Attributes Inspector</b> ( 1) und ändern den <b>Text</b> auf &#8220;Hello World&#8221; und stellen <b>Alignment</b> auf zentriert um. Speichern Sie die Änderung ab ( S) und schließen Sie den <b>Interface Builder</b>.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#4 &#8211; Interface Builder Hello World</h2>
<h2 class="right">Build and Go</h2>
</p></div>
<div id="part_content">
<div class="right">
			<img src="http://nikolasschrader.com/post_imgs/hwitw/build_label.png" alt="Build and Go"/>
		</div>
<div id="text_part"  class="left">
			Zurück in <b>Xcode</b> muss man es nur noch ausführen &#8211; wie erwartet wird “Hello World&#8221; angezeigt.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#1 &#8211; Code Hello World</h2>
<h2 class="right">Neues Projekt</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/hwitw/navbased.png" alt="Navigation-Based Application"/>
		</div>
<div id="text_part"  class="right">
			Die <b>Interface Builder</b> Variante eines &#8220;Hello World&#8221; Programmes funktiniert zwar und macht auch was sie soll, aber hat, da man gar keinen Code schreiben muss, eher weniger mit Programmieren zu tun. Weil man aber mit einem &#8220;Hello World&#8221; Programm, meiner Meinung nach, auch Code verbindet, soll sich das jetzt ändern. <br />
Erstellen Sie ein neues Projekt (⇧  N) und wählen jetzt <b>iPhone OS | Application | Navigation-Based Application</b> aus und speichern es.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#2 &#8211; Code Hello World</h2>
<h2 class="right">Titel “Hello World“</h2>
</p></div>
<div id="part_content">
<div class="right">
			<img src="http://nikolasschrader.com/post_imgs/hwitw/titlecode.png" alt="RootViewController.m"/>
		</div>
<div id="text_part"  class="left">
			Suchen Sie das File <i>RootViewController.m</i> und entfernen Sie bei der Methode “- (void)viewDidLoad {…}&#8221; die Kommentarmarkierungen, <span class="CodeGreen"><i>/*</i></span> und <span class="CodeGreen"><i>*/</i></span>. Anschließend fügen Sie folgenden Code ein: 
		</div>
<div id="code">
				<span class="CodePink">self</span>.navigationItem.title = <span class="CodeRed">@&#8221;Hello World&#8221;</span>;
			</div>
<div id="text_part"  class="left">
			Diese eine Zeile sorgt dafür, dass der <b>Titel</b> des <b>navigationItem</b> auf “Hello World“ gesetzt wird.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#3 &#8211; Code Hello World</h2>
<h2 class="right">Build and Go</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/hwitw/titlerun.png" alt="iPhone Simulator"/>
		</div>
<div id="text_part"  class="right">
			Führt man das Programm jetzt aus, erscheint im <b>iPhone Simulator</b> eine noch lehre Tabelle mit einer Navigationsleiste, die den Titel &#8220;Hello World&#8221; trägt.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#4 &#8211; Code Hello World</h2>
<h2 class="right">Tabellen “Hello World&#8221;</h2>
</p></div>
<div id="part_content">
<div class="right">
			<img src="http://nikolasschrader.com/post_imgs/hwitw/tabellcode.png" alt="Tabellen Hello World"/>
		</div>
<div id="text_part"  class="left">
			Gehen Sie wieder in das File <i>RootViewController.m</i> und suchen Sie die Methode <i>-tableView:numberOfRowsInSection:</i> und ändern die Zahl 0 auf 1. Dadurch weiß das Programm, dass es eine Zeile innerhalb der Tabelle gibt, die mit Daten gefüllt werden kann. Dazu fügen Sie in der Funktion <i>-tableView:cellForRowAtIndexPath</i> unterhalb des Kommentars <span class="CodeGreen"><i>// Set up the cell…</i></span> folgenden Code ein.
		</div>
<div id="code">
				[cell <span class="CodeViolet">setText</span>:<span class="CodeRed">@"Hello World“</span>];
			</div>
<div id="text_part"  class="left">
			Jetzt weiß das Programm, dass der Textinhalt der einen Zeile “Hello World&#8221; ist.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#4 &#8211; Code Hello World</h2>
<h2 class="right">Build and Go</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/hwitw/finalrun.png" alt="Build and Go"/>
		</div>
<div id="text_part"  class="right">
			Wenn Sie das Programm jetzt ausführen, wird im <b>iPhone Simulator</b> neben dem Titel auch eine Zeile innerhalb der Tabelle den Inhalt “Hello World“ tragen.
		</div>
</p></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://nikolasschrader.com/hello-world-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Die Developer Tools &#8211; Xcode</title>
		<link>http://nikolasschrader.com/die-developer-tools/</link>
		<comments>http://nikolasschrader.com/die-developer-tools/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 16:54:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Xcode]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Prog-Blog]]></category>

		<guid isPermaLink="false">http://nikolasschrader.com/?p=31</guid>
		<description><![CDATA[Wie fast alle Programme von Apple können auch die Programme aus den Developer Tools eigentlich instinktiv verwendet werden, dennoch ist eine kleine Einführung ganz hilfreich. Xcode ist das wichtigste Programm der gesammten Developer Tools, es ist mit Editor, Kompiler, Debugger, Code-Vervollständigung und Dokumentation ausgestattet. Der Aufbau von Xcode wird erklärt, indem ein Projekt erstellt und kompiliert wird.]]></description>
			<content:encoded><![CDATA[<div id="part">
<div id="part_head">
<h2 class="left">#1</h2>
<h2 class="right">Xcode öffnen</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/ddtx/hello.png" alt="Willkommen"/>
		</div>
<div id="text_part"  class="right">
			Öffnen Sie Xcode, sofern Xcode nicht in Ihrem Dock ist, können Sie es unter <b>Macintosh HD | Developer | Applications | Xcode</b> finden. Sobald es offen ist, werden Sie begrüßt und es werden Ihnen vier grundlegende Tutorials angezeigt, außerdem werden Sie auf ein paar für das Programmieren hilfreiche Ressourcen, wie z.B. der Apple Developer Connection oder Mailing Lists, hingewiesen.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#2</h2>
<h2 class="right">Dokumentation</h2>
</p></div>
<div id="part_content">
<div class="right">
			<img src="http://nikolasschrader.com/post_imgs/ddtx/devdoc.png" alt="Dokumentation"/>
		</div>
<div id="text_part"  class="left">
			Wenn Sie auf eines der angezeigten Tutorials klicken, öffnet sich die in Xcode eingebaute Dokumentation.  Im Verlauf Ihrer Programmierkarriere werden Sie noch sehr häufig hier z.B. Methoden suchen.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#3</h2>
<h2 class="right">Neues Projekt</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/ddtx/newpro.png" alt="Neues Projekt"/>
		</div>
<div id="text_part"  class="right">
			Um ein neues Projekt zu erstellen können Sie entweder auf <b>File | New Project…</b> in der Menüleiste klicken, oder einfach die Tastenkombination <b>⇧  N</b> eingeben. Da man mit Xcode nicht nur Programme mit einem Userinterface und ein paar, durch Code geschriebene, Aktionen erstellen kann, gibt es auch sehr viele verschiedene Templates, die man auf der linken Seite des Fensters sehen kann (im Punkt 3.2 werden sie genauer beschrieben). Innerhalb dieser Templates wird noch weiter differenziert, allerdings möchte ich nicht darauf eingehen, da man die unterschiede viel besser in der Praxis lernt.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#3.2</h2>
<h2 class="right">Templates</h2>
</p></div>
<div id="part_content">
<div>
<ul id="posts_ul" >
<li><b>Application</b> Template zur Erstellung von Programmen</li>
<li><b>Audio Units</b> Template das digitale Audio-Plugins (Audio-Units) erstellt</li>
<li><b>Automator Action</b> Template das eine Automator-Aktion erstellt, die mit anderen verknüpft ein &#8220;workflow&#8221; ergeben</li>
<li><b>Command Line Utility</b> Tool ohne graphische Benutzeroberfläche, wird in der &#8220;command line enviroment&#8221; verwendet</li>
<li><b>Dynamic Library</b> Daten in der Dynamic Library werden erst bei der Ausführung ausgeliefert und kann von vielen laufenden Programmen verwendet werden</li>
<li><b>Framework</b> Hierarchisches Verzeichnis das eine Dynamic Library und &#8220;shared&#8221; Daten enthält</li>
<li><b>Java</b> Template zur erstellung von Java</li>
<li><b>Kernel Extension</b> Code, der direkt in den Mac OS X Kernel geladen wird, z.B. driver</li>
<li><b>Standard Apple Plug-ins</b> Template zu Erstellung von Plugins für Apple Programme, wie Adressbuch, Interface Builder oder Spotlight
</li>
<li><b>Static Library</b> Daten in der Static Library werden bei der Anbindung der Static Library an das Programm angefügt werden</li>
</ul></div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#3.3</h2>
<h2 class="right">Neues Projekt</h2>
</p></div>
<div id="part_content">
<div class="right">
			<img src="http://nikolasschrader.com/post_imgs/ddtx/savepro.png" alt="Neues Projekt | Speichern"/>
		</div>
<div id="text_part"  class="left">
			In diesem Beispiel wird <b>Cocoa Application</b> ausgewählt, anschließend klickt man auf <b>Choose…</b>, gibt einen Namen ein und speichert es ab.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#4</h2>
<h2 class="right">Projektfenster</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/ddtx/prowindow.png" alt="Projektfenster"/>
		</div>
<div id="text_part"  class="right">
			Es öffnet sich ein neues Projektfenster, hier wird man als Programmierer die meiste Zeit verbringen, da man hier Code schreibt, Files erstellt, Frameworks hinzufügt und vieles mehr…
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#4.2</h2>
<h2 class="right">Projektfenster | Toolbar</h2>
</p></div>
<div id="part_content">
<div>
			<img src="http://nikolasschrader.com/post_imgs/ddtx/toolbar.png" alt="Toolbar"/>
		</div>
<ul id="posts_ul" >
<li><b>Overview</b> in diesem Dropdown Menu kann man einerseits das aktive SDK, aktive Konfiguration oder die aktive Architektur einstellen</li>
<li><b>Action</b> gibt einem die Möglichkeit neue oder bereits existierende Files hinzufügen</li>
<li><b>Build and Go</b> führt Aktionen wie Build, Run oder Debug durchzuführen</li>
<li><b>Tasks</b> ermöglicht den Stop laufender Operationen</li>
<li><b>Info</b> öffnet ein Informationsfenster, in welchem man Gruppen, Files und Targets in dem Projekt bearbeiten oder einfach nur ansehen kann</li>
<li><b>Search</b> filtert die Objekte, welche im &#8220;Detail View&#8221; angezeigt werden</li>
</ul></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#4.3</h2>
<h2 class="right">Projektfenster | Group &amp; Files List</h2>
</p></div>
<div id="part_content">
<div  class="right">
			<img src="http://nikolasschrader.com/post_imgs/ddtx/groupsandfiles.png" alt="Projektfenster | Group &amp; Files List"/>
		</div>
<ul id="posts_ul" style="float: left; width: 600px; 	border-right: 1px solid #bdbdbd;<br />
">
<li><b>Static Groups</b>(gelbe Icons)<b> | Source Groups</b> (violette Icons) Organisation von Source-Files: Header-files, Implementation-files, Frameworks und Andere</li>
<li><b>Targets</b> ein Target enthält Anweisungen, wie eine Softwarekomponente bzw. ein Produkt erstellt wird</li>
<li><b>Executables</b> enthält alle Executables eines Projekts</li>
<li><b>Errors and Warnings</b> enthält eine Liste aller Fehler und Warnungen die beim Ausführen entstehen</li>
<li><b>Find Results</b> enthält die Ergebnisse aller Suchen eines Projekts</li>
<li><b>Bookmarks</b> listet alle Locations eines Files oder innerhalb eines Files auf</li>
<li><b>SCM</b> enthält alle Files die Source-Control-Informationen enthalten</li>
<li><b>Project Symbols</b> enthält alle Symbols des Projekts</li>
<li><b>Implementation Files</b> Implementation-files mit Extension c, cpp, m&#8230;</li>
<li><b>NIB Files</b> Benutzeroberflächen-files (UI-files)</li>
</ul></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#5</h2>
<h2 class="right">Console</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/ddtx/console.png" alt="Console"/>
		</div>
<div id="text_part"  class="right">
			 Ein weiteres in Xcode eingebautes Feature ist die Console, die man mit der Tastenkombination <b>⇧  R</b> oder einem Klick auf <b>Run | Console</b> öffnen kann.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#6</h2>
<h2 class="right">Debugger</h2>
</p></div>
<div id="part_content">
<div class="right">
			<img src="http://nikolasschrader.com/post_imgs/ddtx/debugger.png" alt="Debugger"/>
		</div>
<div id="text_part"  class="left">
			 Falls bei der Kompilierung Fehler auftreten sollten, kann man dies sehr gut im Debugger, den man entweder mit Klick auf <b>Run | Debugger</b> in der Menuzeile, oder durch eintippen der Tastenkombination <b>⇧  Y</b> öffnen kann.
		</div>
</p></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://nikolasschrader.com/die-developer-tools/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Der erste Schritt in Richtung iPhone-Entwickler</title>
		<link>http://nikolasschrader.com/der-erste-schritt-in-richtung-iphone-entwickler/</link>
		<comments>http://nikolasschrader.com/der-erste-schritt-in-richtung-iphone-entwickler/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 16:52:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Prog-Blog]]></category>

		<guid isPermaLink="false">http://nikolasschrader.com/blog/2008/11/01/der-erste-schritt-in-richtung-iphone-entwickler/</guid>
		<description><![CDATA[Seit 2007 gibt es das iPhone, seitdem kann man nicht nur für den Mac Programme entwickeln sondern auch für jedes iPhone. Genau wie die Mac Developer Connection, Programmierung auf und für den Mac, bietet Apple allen iPhone Entwicklern die iPhone Developer Connection an. Analog zu den Developer Tools, Programmen mit welchen man auf dem Mac Programme für den Mac entwickeln kann, gibt es von Apple das iPhone SDK (Software Development Kit), mit dem man iPhone Programme entwickeln kann. Auch stellt Apple dort Entwicklern Programmier Videos (Getting Started Videos) sowie Dokumente (Getting Started Documents), Beispiel Code (Sample Code) und Coding How-To's zu Verfügung. Das iPhone SDK, allerdings nicht das neueste, kann man sich kostenlos nach einer Anmeldung herunterladen, möchte man iPhone Programme veröffentlichen gibt es zwei Varianten.]]></description>
			<content:encoded><![CDATA[<div id="part">
<div id="part_head">
<h2 class="left">#1 &#8211; Standard Program</h2>
<h2 class="right">$99</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/esirie/standard.png" alt="Standard"/>
		</div>
<div id="text_part"  class="right">
			Das erste Programm ist für alle iPhone Entwickler, die entweder kostenlose oder kostenpflichtige Programme für iPhones oder iPod touchs im App Store verkaufen wollen. Bei diesem Programm bekommt man zur Zeit vollen Zugriff auf die Beta von iPhone OS 3, das iPhone SDK 3.0, das iPhone SDK 2.2.1, alle iPhone Developer Center Ressourcen, die Möglichkeit auf eigenen Geräten Programme zu testen sowie Code-Level technischen Support, die Beta des Apple Developer Forums und auf den App Store.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#2 &#8211; Enterprise Program</h2>
<h2 class="right">$299</h2>
</p></div>
<div id="part_content">
<div class="right">
			<img src="http://nikolasschrader.com/post_imgs/esirie/enterprise.png" alt="Enterprise"/>
		</div>
<div id="text_part"  class="left">
			Das zweite Programm ist für Firmen mit 500 oder mehr Angestellten, die intern Programme auf iPhones oder iPod touchs verwenden wollen, d.h. sie dürfen in ihrer Firma eigene Programme auf alle iPods und iPhones laden, aber nicht im App Store verkaufen, was auch der einzige Unterschied zum Standard Programm ist.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">Anmeldung</h2>
<h2 class="right"></h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/esirie/sdk.png" alt="SDK"/>
		</div>
<div id="text_part"  class="right">
			Möchte man aber nur auf seinem eigenem Computer, der intel-basiert ist und auf dem Mac OS X Leopard läuft, kann man sich kostenlos die iPhone SDK Version <strike>2.2.1</strike> <strike>3.0</strike> 3.1 herunterladen. Dazu muss man sich nur <a href="http://developer.apple.com/iphone/program/start/register/">hier</a> anmelden, einloggen und das SDK herunterladen.
		</div>
</p></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://nikolasschrader.com/der-erste-schritt-in-richtung-iphone-entwickler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Der erste Schritt in Richtung Mac-Entwickler</title>
		<link>http://nikolasschrader.com/der-erste-schritt-in-richtung-mac-entwickler/</link>
		<comments>http://nikolasschrader.com/der-erste-schritt-in-richtung-mac-entwickler/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 16:52:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Prog-Blog]]></category>

		<guid isPermaLink="false">http://nikolasschrader.com/?p=4</guid>
		<description><![CDATA[“Creating Mac or iPhone applications is simple, yet incredibly powerful, just like using your Mac“ - Apple stellt daher jedem Programmierer die sogenannten Apple Developer Tools zu Verfügung, mit denen z.B. auch OS X oder iPhone OS entwickelt wurde, bevor man diese Tools jedoch herunterladen kann, muss man sich zwischen drei verschiedenen Apple Developer Connection, kurz ADC, Mitgliedschaften entscheiden. Die ADC bietet Entwicklern neben den Developer Tools auch z.B. Technischen Support (Technical Support), neueste Software (Software Seeding Program) sowie Rabatt auf Computer (Hardware Purchase Program) oder Programmier Videos (Coding Headstarts) an.]]></description>
			<content:encoded><![CDATA[<div id="part">
<div id="part_head">
<h2 class="left">#1 &#8211; ADC Online Membership</h2>
<h2 class="right">kostenlos</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/esime/online.png" alt="Online"/>
		</div>
<div id="text_part"  class="right">
			Die erste Möglichkeit einer Mitgliedschaft ist die kostenlose ADC Online Membership, sie ermöglicht den Download der Developer Tools, Einsicht in Einführungs Coding Headstarts und beschränkten Zugriff auf die ADC in iTunes &#8211; am besten für Programmiereinsteiger, nicht kommerzielle Programmierer oder Personen die einfach nur die Developer Tolls herunterladen möchten…
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#2 &#8211; ADC Student Membership</h2>
<h2 class="right">$99</h2>
</p></div>
<div id="part_content">
<div id="text_part">
			Diese Mitgliedschaft ist speziell für Studenten, damit diese ihre Programmierfähigkeiten verbessern können. Sie unterscheidet sich von der kostenlosen Mitgliedschaft nur dadurch, dass man einmalig die Möglichkeit hat das Hardware Purchase Program zu nutzen.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#3 &#8211; ADC Select Membership</h2>
<h2 class="right">$499</h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/esime/select.png" alt="Select"/>
		</div>
<div id="text_part"  class="right">
			Die nächste, $400 teurere, Mitgliedschaft bietet schon mehr, vollen Zugriff im Software Seeding Program, Coding Headstarts und ADC on iTunes sowie zweimal im Jahr die Nutzung des Technischen Supports, zwei Tage im Monat Compatibility Labs Verwendung und einmal im Jahr der Einsatz des Hardware Purchase Programs.
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">#4 &#8211; ADC Premier Membership</h2>
<h2 class="right">$3499</h2>
</p></div>
<div id="part_content">
<div class="right">
			<img src="http://nikolasschrader.com/post_imgs/esime/premier.png" alt="Premium"/>
		</div>
<div id="text_part" class="left">
			Für die absoluten Profis gibt es dann noch eine weitere Mitgliedschaft, sie hat zusätzlich zu allen Angeboten der Select Membership, noch ein WWDC Ticket, acht statt zwei Mal Technischen Support, drei statt zwei Tage pro Monat Nutzung der Compatibility Labs und statt einem, zehn Systeme pro Jahr (Hardware Purchase Program)
		</div>
</p></div>
</div>
<div id="part">
<div id="part_head">
<h2 class="left">Anmeldung</h2>
<h2 class="right"></h2>
</p></div>
<div id="part_content">
<div class="left">
			<img src="http://nikolasschrader.com/post_imgs/esime/download.png" alt="Downloads" style="position: bottom" />
		</div>
<div id="text_part"  class="right">
			Der erste Schritt in Richtung Mac-Entwickler ist der Download der Developer Tools und da man die mit der kostenlosen Online Mitgliedschaft bekommt, würde ich diese für Programmierneulinge empfehlen, auch ich verwende nur die Online Mitgliedschaft und komme damit aus…<br />
<br />
			Die Anmeldung findet man <a href="https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/expressReg?directLink=http%3A%2F%2Fdeveloper%2Eapple%2Ecom%2Fmac%2F&#038;source=LDCNEX&#038;code=LDCLOG-NEX">hier</a> &#8211; Nach erfolgreicher Anmeldung kann man sich bei der <a href="https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/promo?source=ADCLOG&#038;code=ADCLOG-NEX">Apple Developer Connection anmelden</a> und anschließend unter <b>Downloads | Developer Tools</b> die Developer Tools herunterladen.
		</div>
</p></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://nikolasschrader.com/der-erste-schritt-in-richtung-mac-entwickler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
