<?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>Alexander Jäger&#187; xcode</title>
	<atom:link href="http://www.alexanderjaeger.de/tag/xcode/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alexanderjaeger.de</link>
	<description>Alex Jäger</description>
	<lastBuildDate>Mon, 30 Jan 2012 18:36:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Infos zu einer App: Version &#8211; Sprache</title>
		<link>http://www.alexanderjaeger.de/infos-zu-einer-app-version-sprache/</link>
		<comments>http://www.alexanderjaeger.de/infos-zu-einer-app-version-sprache/#comments</comments>
		<pubDate>Tue, 10 May 2011 18:11:30 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[fehler]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[user]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.alexanderjaeger.de/?p=1172</guid>
		<description><![CDATA[Eine App für eine breite Kundschaft zu entwickeln bedeutet auch, eine Vielzahl an Variationen von Problemmöglichkeiten zu kreieren. Wenn dann wirklich ein Problem auftritt, möchte man vom Kunden möglichst genau dessen Rahmenbediengungen kennen. Dazu zählt bei einer iOS App insbesondere: Quelle: Welche App hat er genau genutzt? Version: Welche Version der App wurde verwendet? Wurde [...]]]></description>
			<content:encoded><![CDATA[<p>Eine App für eine breite Kundschaft zu entwickeln bedeutet auch, eine Vielzahl an Variationen von Problemmöglichkeiten zu kreieren. Wenn dann wirklich ein Problem auftritt, möchte man vom Kunden möglichst genau dessen Rahmenbediengungen kennen.</p>
<p>Dazu zählt bei einer iOS App insbesondere:</p>
<h2>Quelle:</h2>
<p>Welche App hat er genau genutzt?</p>
<h2>Version:</h2>
<p>Welche Version der App wurde verwendet? Wurde evtl. eine alte Version genutzt und ein reines Update würde helfen?</p>
<h2>Sprache:</h2>
<p>Welche Sprache ist eingestellt? Kommt das Problem evtl. von einem Übersetzungsfehler / einer fehlenden Übersetzung?</p>
<h2>iOS Version:</h2>
<p>Apple verhindert zwar recht gut, Funktionen zu verwenden, die in bestimmten iOS Versionen noch nicht oder nicht mehr verfügbar sind, nichts desto trotz, ist es bei Fehlern wichtig, zu wissen, welche iOS Version verwendet wird.</p>
<p>Die meisten der Informationen sind über <strong>[[NSBundle mainbundle] infoDictionary]</strong> erreichbar:</p>
<p><em>App Identifier</em>: <strong>[[NSBundle mainBundle] infoDictionary] valueForKey:@&#8221;CFBundleIdentifier&#8221;]</strong><br />
<em>App Version</em>: <strong>[[NSBundle mainBundle] infoDictionary] valueForKey:@&#8221;CFBundleVersion&#8221;]</strong></p>
<p>Die <em>Sprache</em> erhält man über: <strong>[[NSUserDefaults standardUserDefaults] objectForKey:@&#8221;AppleLanguages&#8221;] objectAtIndex:0]</strong></p>
<p>Und zu guter letzt die <em>iOS Version</em>:<br />
<strong>[[NSProcessInfo processInfo] operatingSystemVersionString]</strong> Hierbei ist darauf zu achten, dass im Simulator als Betriebssystem die OSX Version angegeben wird.</p>
<p>Mit den aufgeführten Angaben lässt sich schon recht genau das technische Umfeld des Nutzers eingrenzen und diese Informationen können automatisch beispielsweise in einer E-Mail angehängt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexanderjaeger.de/infos-zu-einer-app-version-sprache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone ADHoc build save to disk problem</title>
		<link>http://www.alexanderjaeger.de/iphone-adhoc-build-save-to-disk-problem/</link>
		<comments>http://www.alexanderjaeger.de/iphone-adhoc-build-save-to-disk-problem/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 10:13:19 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[adhoc]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[apples]]></category>
		<category><![CDATA[fehler]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[Problem]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.alexanderjaeger.de/?p=1165</guid>
		<description><![CDATA[Mit XCode können nicht nur Apps an den Apple App Store geschickt werden, registrierte Entwickler können auch an registrierte iOS Devices so genannte ADHoc Builds verteilen. Dabei wird die Datei vom Ersteller signiert und dann lauffähig. Wie das ganze erledigt werden kann, habe ich in diesem Artikel beschrieben: ios-betabuilder-version-1-5-released. (Der BetaBuilder ist mittlerweile übrigens im MacStore [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alexanderjaeger.de/wp-content/uploads/2011/04/ADHoc_Build_FAIL.png"><img class="aligncenter size-full wp-image-1166" title="ADHoc_Build_FAIL" src="http://www.alexanderjaeger.de/wp-content/uploads/2011/04/ADHoc_Build_FAIL.png" alt="" width="380" height="154" /></a></p>
<p>Mit XCode können nicht nur Apps an den Apple App Store geschickt werden, registrierte Entwickler können auch an registrierte iOS Devices so genannte ADHoc Builds verteilen.</p>
<p>Dabei wird die Datei vom Ersteller signiert und dann lauffähig. Wie das ganze erledigt werden kann, habe ich in diesem Artikel beschrieben: <a href="http://www.alexanderjaeger.de/ios-betabuilder-version-1-5-released/">ios-betabuilder-version-1-5-released</a>. (Der BetaBuilder ist mittlerweile übrigens im MacStore erhältlich).</p>
<p>Was nun wenn es bei dem beschriebenen Vorgehen Probleme gibt? Beispielsweise kann es vorkommen, dass der Organizer bei dem Klick auf &#8220;Save to disk&#8221; einfach nicht reagiert, ohne Fehlermeldung etc. Ein Blick in die logs mittels:</p>
<blockquote><p><strong>tail -f /var/log/system.log</strong></p></blockquote>
<p>bringt ein</p>
<blockquote><p><strong>header check failed</strong></p></blockquote>
<p>um Vorschein.</p>
<p>Mögliche Lösungen:</p>
<p>- &#8220;Project clean&#8221; und neu builden</p>
<p>- XCode neu starten</p>
<p>- Rechner neu starten</p>
<p>- XCode neu installieren, Projekt cleanen, Projekt builden</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexanderjaeger.de/iphone-adhoc-build-save-to-disk-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xcode 4 refactoring deaktiviert</title>
		<link>http://www.alexanderjaeger.de/xcode-4-refactoring-deaktiviert/</link>
		<comments>http://www.alexanderjaeger.de/xcode-4-refactoring-deaktiviert/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 17:00:03 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[bug fixes]]></category>
		<category><![CDATA[core data model]]></category>
		<category><![CDATA[llvm]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[model editor]]></category>
		<category><![CDATA[quelle]]></category>
		<category><![CDATA[refactor]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[stability improvements]]></category>
		<category><![CDATA[verbesserungen]]></category>
		<category><![CDATA[wikipedia]]></category>
		<category><![CDATA[xcode]]></category>
		<category><![CDATA[xcode4]]></category>

		<guid isPermaLink="false">http://www.alexanderjaeger.de/?p=1157</guid>
		<description><![CDATA[Mit der neuen Version von Xcode hat Apple einige Neuerungen und Verbesserungen gebracht. Einige Dinge fallen jedoch negativ auf. Da wäre die beliebte Refactoring-Funktion. Refactoring bezeichnet: Refactoring (deutsch auch Refaktorierung, Restrukturierung oder Umgestaltung) bezeichnet in der Software-Entwicklung die manuelle oder automatisierte Strukturverbesserung von Programm-Quelltexten unter Beibehaltung des beobachtbaren Programm-Verhaltens. Dabei sollen die Lesbarkeit, Verständlichkeit, Wartbarkeit und Erweiterbarkeit verbessert werden, mit dem Ziel, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.alexanderjaeger.de/wp-content/uploads/2011/03/XCode-Refactoring.png"><img class="aligncenter size-full wp-image-1160" title="XCode-Refactoring" src="http://www.alexanderjaeger.de/wp-content/uploads/2011/03/XCode-Refactoring.png" alt="" width="438" height="228" /></a></p>
<p>Mit der neuen Version von Xcode hat Apple einige Neuerungen und Verbesserungen gebracht. Einige Dinge fallen jedoch negativ auf.</p>
<p>Da wäre die beliebte Refactoring-Funktion. Refactoring bezeichnet:</p>
<blockquote><p><strong>Refactoring</strong> (deutsch auch <strong>Refaktorierung</strong>, <strong>Restrukturierung</strong> oder <strong>Umgestaltung</strong>) bezeichnet in der <a title="Software-Entwicklung" href="http://de.wikipedia.org/wiki/Software-Entwicklung">Software-Entwicklung</a> die manuelle oder automatisierte Strukturverbesserung von <a title="Computerprogramm" href="http://de.wikipedia.org/wiki/Computerprogramm">Programm</a>-Quelltexten unter Beibehaltung des beobachtbaren Programm-Verhaltens. Dabei sollen die <a href="http://de.wikipedia.org/wiki/Lesbarkeit">Lesbarkeit</a>, Verständlichkeit, <a href="http://de.wikipedia.org/wiki/Wartbarkeit">Wartbarkeit</a> und Erweiterbarkeit verbessert werden, mit dem Ziel, den jeweiligen Aufwand für <a title="Fehleranalyse" href="http://de.wikipedia.org/wiki/Fehleranalyse">Fehleranalyse</a> und funktionale Erweiterungen deutlich zu senken.</p>
<p>Quelle: Wikipedia</p></blockquote>
<p>D.h. über Refactoring kann beispielsweise eine Variable umbenannt werden, wobei die Entwicklungsumgebung dafür sorgt, dass diese Variable überall wo sie vorkommt, umbenannt wird. Auf das extrahieren von Quellcode in eine Extra Methode mit entsprechendem Funktionskopf fällt unter das Refactoring.</p>
<p>Wo hat Apple hier aber nun geschlafen? Wer ein &#8220;altes&#8221; Xcode 3Projekt hatte, und dies in Xcode 4 öffnet, wird sich bei einem Rechtsklick wundern, alle Refactoring Optionen sind ausgegraut.</p>
<p>Mit dem Update 4.0.1 hat Apple das Problem behoben, nach einem Project-Clean kann wieder die Refactor-Funktion genutzt werden.</p>
<p>Neuerungen in XCode 4.0.1:</p>
<blockquote><p>- Improved Assistant editor logic when switching among different file types<br />
- Fixed a bug in &#8220;Install Xcode.app&#8221; that hangs at 99% complete, never finishing<br />
- Fixed a bug that prevented indexing of some projects<br />
- Fixed a bug related to nil settings in the Core Data model editor<br />
- Fixed a bug that prevented automatic download of iOS documentation<br />
- Fixed a bug in LLVM GCC 4.2 and LLVM compiler 2.0 for iOS projects<br />
- Additional bug fixes and stability improvements</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.alexanderjaeger.de/xcode-4-refactoring-deaktiviert/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Welcome Xcode 4</title>
		<link>http://www.alexanderjaeger.de/welcome-xcode-4/</link>
		<comments>http://www.alexanderjaeger.de/welcome-xcode-4/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 09:26:38 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[4.3]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[golem]]></category>
		<category><![CDATA[interface builder]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iphone 5]]></category>
		<category><![CDATA[iphone5]]></category>
		<category><![CDATA[llvm]]></category>
		<category><![CDATA[macstore]]></category>
		<category><![CDATA[neue version]]></category>
		<category><![CDATA[window interface]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.alexanderjaeger.de/?p=1152</guid>
		<description><![CDATA[Ab heute ist das neue iOS 4.3 für iPhone 4, iPhone 3 GS, iPad und iPad 2 verfügbar. Ersten Hinweisen zu Folge sogar schon für das kommende iPhone 5. Zusätzlich hat Apple die neue Version der Entwicklungsumgebung Xcode 4 für die breite Öffentlichkeit zugänglich gemacht. War es bisher registrierten (zahlenden) Entwicklern vorbehalten, darf nun jeder [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1153" class="wp-caption aligncenter" style="width: 296px"><a href="http://www.alexanderjaeger.de/wp-content/uploads/2011/03/Xcode4.png"><img class="size-full wp-image-1153" title="Xcode4" src="http://www.alexanderjaeger.de/wp-content/uploads/2011/03/Xcode4.png" alt="Xcode 4" width="286" height="248" /></a><p class="wp-caption-text">Xcode 4</p></div>
<p>Ab heute ist das neue iOS 4.3 für iPhone 4, iPhone 3 GS, iPad und iPad 2 verfügbar. Ersten Hinweisen zu Folge sogar schon für das kommende iPhone 5.</p>
<p>Zusätzlich hat Apple die neue Version der Entwicklungsumgebung Xcode 4 für die breite Öffentlichkeit zugänglich gemacht. War es bisher registrierten (zahlenden) Entwicklern vorbehalten, darf nun jeder die neue Version nutzen. Jeder? Nicht ganz, war Xcode bisher kostenfrei, muss es ab jetzt im MacStore für 3,99 € gekauft werden.</p>
<p>Neuerungen in Xcode4:<br />
Single-Window-Interface<br />
Integrierter Interface Builder<br />
Apple LLVM Compiler 2.0 inklusive Live Issues und Fix-It<br />
Versionseditor (Git)<br />
Neuer Debugger<br />
Instruments for Xcode 4</p>
<p>Sehr schön ist auch das schon verfügbare <a rel="nofollow" href="http://cocoasamurai.blogspot.com/2011/03/xcode-4-keyboard-shortcuts-now.html">Shortcut Blatt</a>.</p>
<p>Weitere Artikel zum Thema:<br />
<a rel="nofollow" href="http://www.golem.de/1103/82007.html">Golem</a><br />
<a rel="nofollow" href="http://www.macnotes.de/2011/03/10/xcode-4-verfugbar-kostenpflichtig-fur-nicht-devs-mit-nativer-git-integration/">Macnotes</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexanderjaeger.de/welcome-xcode-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Icon specified in the Info.plist not found under the top level app wrapper: Icon.png</title>
		<link>http://www.alexanderjaeger.de/icon-specified-in-the-info-plist-not-found-under-the-top-level-app-wrapper-icon-png/</link>
		<comments>http://www.alexanderjaeger.de/icon-specified-in-the-info-plist-not-found-under-the-top-level-app-wrapper-icon-png/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 09:53:18 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[apples]]></category>
		<category><![CDATA[bicon]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iphone 4]]></category>
		<category><![CDATA[ipod touch]]></category>
		<category><![CDATA[komplett]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[png]]></category>
		<category><![CDATA[qa]]></category>
		<category><![CDATA[retina]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[targets]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.alexanderjaeger.de/?p=1147</guid>
		<description><![CDATA[Kleiner Fehler, große Wirkung, wer beim Submitten einer App an Apple die Fehlermeldung erhält: Icon specified in the Info.plist not found under the top level app wrapper: Icon.png Darf sich erstmal freuen, die Fehlermeldung ist schwer zu beheben. Im einfachsten Fall hat man wirklich vergessen, das Icon.png in das Projekt zu legen. Es ist darauf [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alexanderjaeger.de/wp-content/uploads/2011/03/Icon_specified_in_the_Info_plist_not_found_under_the_top_level_app_wrapper_Icon_png.png"><img class="aligncenter size-full wp-image-1148" title="Icon_specified_in_the_Info_plist_not_found_under_the_top_level_app_wrapper_Icon_png" src="http://www.alexanderjaeger.de/wp-content/uploads/2011/03/Icon_specified_in_the_Info_plist_not_found_under_the_top_level_app_wrapper_Icon_png.png" alt="" width="285" height="211" /></a></p>
<p>Kleiner Fehler, große Wirkung, wer beim Submitten einer App an Apple die Fehlermeldung erhält:</p>
<blockquote>
<h2>Icon specified in the Info.plist not found under the top level app wrapper: Icon.png</h2>
</blockquote>
<p>Darf sich erstmal freuen, die Fehlermeldung ist schwer zu beheben.</p>
<p>Im einfachsten Fall hat man wirklich vergessen, das Icon.png in das Projekt zu legen. Es ist darauf zu achten, dass das Icon bestimmte Kriterien erfüllen muss (nachzulesen unter: <a title="Apple Icon Anforderungen" href="http://developer.apple.com/library/ios/#qa/qa2010/qa1686.html" target="_blank" rel="nofollow">http://developer.apple.com/library/ios/#qa/qa2010/qa1686.html</a>)</p>
<p>Wichtig, die Icon File muss im <strong>Root des Projektes</strong> liegen und die Groß- und Kleinschreibung muss beachtet werden. Es kann helfen, das Projekt komplett aufzuräumen über:</p>
<blockquote><p><strong>Build -&gt; Clean All Targets</strong></p></blockquote>
<p>Zusätzlich kann man nach dem <strong>cleanen</strong> noch die Icons alle umbenennen z.B. in <strong>bIcon.png</strong> und dann wieder zurück nach <strong>Icon.png </strong>benennen. Danach wie gehabt</p>
<blockquote><p><strong>Build -&gt; Build and archive</strong></p>
<p><strong>An Apple senden</strong></p></blockquote>
<p>Je nachdem, ob man eine iPad App erstellt gibt es folgende möglichen Icon Variationen die in der Info.plist Datei hinterlegt werden:</p>
<ul>
<li>Icon.png (57×57px – iPhone und iPod Touch)</li>
<li>Icon@2x.png (114×114 – iPhone 4 Retina Display)</li>
<li>Icon-72.png (72×72 – iPad)</li>
<li>Icon-Small.png (29×29 – Settings app und Suchergebnisse auf iPhone und iPod Touch)</li>
<li>Icon-Small@2x.png (58×58 – Settings app und Suchergebnisse auf iPhone 4)</li>
<li>Icon-Small-50.png (50×50 – Suchergebnisse auf iPad)</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexanderjaeger.de/icon-specified-in-the-info-plist-not-found-under-the-top-level-app-wrapper-icon-png/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Paypal iOS SDK</title>
		<link>http://www.alexanderjaeger.de/paypal-ios-sdk/</link>
		<comments>http://www.alexanderjaeger.de/paypal-ios-sdk/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 15:26:13 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[apples]]></category>
		<category><![CDATA[doku]]></category>
		<category><![CDATA[fehler]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[kostenlos]]></category>
		<category><![CDATA[lib]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[paypal transactions]]></category>
		<category><![CDATA[schritte]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[usw]]></category>
		<category><![CDATA[verhindert]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.alexanderjaeger.de/?p=1141</guid>
		<description><![CDATA[In der aktuellen Diskussion über die Abo-Gebühren von Apple, die inApp Beteiligungen die verlangt werden, geht voll unter das es auch noch andere Bezahlmöglichkeiten gibt. Unter anderem bietet PayPal ein eigenes iPhone / iOS SDK an. Dieses kann in jede App eingebunden werden und den Bezahlvorgang für Inhalte übernehmen. Beträge, Rechnungsposten, Steuer / Versandgebühren sind [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1143" class="wp-caption aligncenter" style="width: 412px"><a href="http://www.alexanderjaeger.de/wp-content/uploads/2011/02/paypal_iphone_ios_sdk.png"><img class="size-full wp-image-1143" title="paypal_iphone_ios_sdk" src="http://www.alexanderjaeger.de/wp-content/uploads/2011/02/paypal_iphone_ios_sdk.png" alt="PayPal iphone / iOS SDK" width="402" height="402" /></a><p class="wp-caption-text">PayPal iphone / iOS SDK</p></div>
<p>In der aktuellen Diskussion über die Abo-Gebühren von Apple, die inApp Beteiligungen die verlangt werden, geht voll unter das es auch noch andere Bezahlmöglichkeiten gibt.</p>
<p>Unter anderem bietet PayPal ein eigenes <a href="https://www.x.com/community/ppx/sdks" target="_blank">iPhone / iOS SDK</a> an.</p>
<p>Dieses kann in jede App eingebunden werden und den Bezahlvorgang für Inhalte übernehmen. Beträge, Rechnungsposten, Steuer / Versandgebühren sind dabei sehr gut einstellbar. Im Fall einer erfolgreichen Zahlung erhält man von PayPal eine PayPal-Transactions-ID, womit der jeder Bezahlvorgang eindeutig ist.</p>
<p>Eingebunden wird das SDK sehr einfach: Downloaden, Add existing Files -&gt; die *.a Datei und alle .h Dateien auswählen und importieren.</p>
<p>In dem Viewcontroller, in dem der Bezahlvorgang dann vonstatten gehen soll folgende include Anweisung:</p>
<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px 'Courier New'} -->#import &#8220;PayPal.h&#8221;</p>
<p>weitere Schritte können in der Doku von Paypal entnommen werden.</p>
<p>Was nicht ind er Dokumentation erwähnt ist: um das SDK nutzen zu können, bedarf es auch einer xml Lib. Wenn diese nicht vorhanden ist, bekommt man Fehlermeldungen im folgenden Stil:</p>
<blockquote><p>&#8220;_xmlNodeListGetString&#8221;, referenced from:</p>
<p>-[ap_ReceiverIdentifier deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)</p>
<p>-[ap_Address deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)</p>
<p>-[ap_AddressList deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)</p>
<p>-[ap_CurrencyCodeList deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)</p>
<p>-[ap_CurrencyList deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)</p>
<p>-[ap_CurrencyConversionList deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)</p>
<p>-[ap_CurrencyConversionTable deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)</p>
<p>-[ap_DisplayOptions deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)</p>
<p>-[ap_ErrorList deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)</p></blockquote>
<p>usw.</p>
<p>Dieses kann verhindert werden, indem man die <strong>libxml2.dylib </strong>als existing Framework einbettet / hinzufügt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexanderjaeger.de/paypal-ios-sdk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iOS BetaBuilder Version 1.5 released</title>
		<link>http://www.alexanderjaeger.de/ios-betabuilder-version-1-5-released/</link>
		<comments>http://www.alexanderjaeger.de/ios-betabuilder-version-1-5-released/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 12:01:02 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[betabuilder]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[deploy]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[hochladen]]></category>
		<category><![CDATA[interface builder]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[testen]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.alexanderjaeger.de/?p=1130</guid>
		<description><![CDATA[Das leidige Problem, wie verteile ich meine Entwicklungsstände von neuen Apps an Kunden / Tester / Freunde&#8230; Die Antwort lag meistens in einer kleinen aber feinen Anwendung: BetaBuilder! Mit diesem Tool wird das Verteilen von Software total einfach. Was man braucht ist ein AdHoc Zertifikat, welches Gültigkeit für alle Geräte besitzt, auf die man die [...]]]></description>
			<content:encoded><![CDATA[<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Arial} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Arial; min-height: 15.0px} span.s1 {text-decoration: underline ; color: #2e0bee} --></p>
<p><a href="http://www.alexanderjaeger.de/wp-content/uploads/2011/02/BetaBuilder.png"><img class="aligncenter size-medium wp-image-1131" title="BetaBuilder" src="http://www.alexanderjaeger.de/wp-content/uploads/2011/02/BetaBuilder-188x300.png" alt="" width="188" height="300" /></a></p>
<p>Das leidige Problem, wie verteile ich meine Entwicklungsstände von neuen Apps an Kunden / Tester / Freunde&#8230;</p>
<p>Die Antwort lag meistens in einer kleinen aber feinen Anwendung: <a rel="nofollow" href="http://media.ratevegas.com/BetaBuilder1_5_0.app.zip" target="_blank">BetaBuilder</a>!</p>
<p>Mit diesem Tool wird das Verteilen von Software total einfach. Was man braucht ist ein AdHoc Zertifikat, welches Gültigkeit für alle Geräte besitzt, auf die man die App gerne hätte und Webspace zum verteilen der Software.</p>
<p>Man führt alle bekannten Schritte zur Generierung einer IPA Datei durch. Diese Datei lädt man dann im BetaBuilder und gibt an, unter welcher WebAdresse die App für die Kunden / Freunde / Tester zur Verfügung stehen wird.</p>
<p>Bei früheren Versionen musste diese Adresse jedes mal eingegeben werden, dies geschieht nun automatisch, ein echter Kompfort-Gewinn.</p>
<p>Nach dem Betätigen des &#8220;Generate Deployment Files&#8221; wird eine HTML Datei etc. angelegt, welche dann auf den Webserver geladen werden. Von dort kann nun jeder Kunde / Tester die App über das iOS Gerät herunterladen und installieren.</p>
<p>Ein kleiner Tipp am Rande, wenn man statt eines Webservers Speicherplatz von Getdropbox nutzt und die Files vom BetaBuilder in ein Dropbox Verzeichnis erstellen lässt, spart man sich das hochladen.</p>
<p>Der Macher des BetaBuilders (<a rel="nofollow" href="https://github.com/HunterHillegas">HunterHillegas</a>) hat den Quelltext der Anwendung auf <a title="BetaBuilder GitHub" rel="nofollow" href="https://github.com/HunterHillegas/iOS-BetaBuilder" target="_blank">GitHub</a> bereit gestellt und erhofft sich dadurch eine schnellere Weiterentwicklung. Zusätzlich soll die Anwendung bald im Mac App Store verfügbar sein.</p>
<p>(via http://iphone-dev-tips.alterplay.com/2011/01/ios-betabuilder-dropbox-fastest-adhoc.html)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexanderjaeger.de/ios-betabuilder-version-1-5-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UiTableview mit einer großen Menge an Zellen</title>
		<link>http://www.alexanderjaeger.de/uitableview-mit-einer-grosen-menge-an-zellen/</link>
		<comments>http://www.alexanderjaeger.de/uitableview-mit-einer-grosen-menge-an-zellen/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 07:38:10 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[amount]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[uitableview]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.alexanderjaeger.de/?p=1116</guid>
		<description><![CDATA[Eine UiTableView ist ja generell für die Haltung von einer großen Anzahl an Elementen und deren Darstellung gedacht. Wer jedoch versucht eine wirklich große Zahl (1000+) in eine TableView zu setzen, wird unter Umständen feststellen, das dies enorm langsam passiert. Die Lösung ist die Methode heightForRowAtIndexPath. Diese wird für jede Zelle neu aufgerufen, in diesem [...]]]></description>
			<content:encoded><![CDATA[<p>Eine UiTableView ist ja generell für die Haltung von einer großen Anzahl an Elementen und deren Darstellung gedacht. Wer jedoch versucht eine wirklich große Zahl (1000+) in eine TableView zu setzen, wird unter Umständen feststellen, das dies enorm langsam passiert.</p>
<p>Die Lösung ist die Methode heightForRowAtIndexPath. Diese wird für jede Zelle neu aufgerufen, in diesem Fall also über 1000 mal, was eine enorme Ladezeit nach sich zieht.</p>
<p>Als Lösung, sofern alle Zellen gleich hoch sein sollen, kann die rowHeight auch bei Initialisierung der TableView gesetzt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexanderjaeger.de/uitableview-mit-einer-grosen-menge-an-zellen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GPS Distanz von Nutzer zu Punkt bestimmen</title>
		<link>http://www.alexanderjaeger.de/gps-distanz-von-nutzer-zu-punkt-bestimmen/</link>
		<comments>http://www.alexanderjaeger.de/gps-distanz-von-nutzer-zu-punkt-bestimmen/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 08:48:35 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[cllocation]]></category>
		<category><![CDATA[corelocation]]></category>
		<category><![CDATA[distance]]></category>
		<category><![CDATA[distanz]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[ios4]]></category>
		<category><![CDATA[iphone os]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.alexanderjaeger.de/?p=1098</guid>
		<description><![CDATA[Um Die Distanz eines iPhone Users zu einem bestimmten Punkt zu bekommen, kann man die CLLLocation Methode getDistanceFrom wunderbar nutzen. Vorraussetzung ist die Position des Gerätes. In der Methode - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation kann dann folgender Codeschnipsel genutzt werden: // hier die gewünschten GPS Koordinaten eingeben, die Beispieldaten sind von der Infinity [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alexanderjaeger.de/wp-content/uploads/2010/07/GPS-Distanze-iphoneOS.png"><img class="aligncenter size-full wp-image-1101" title="GPS Distanze iphoneOS" src="http://www.alexanderjaeger.de/wp-content/uploads/2010/07/GPS-Distanze-iphoneOS.png" alt="" width="277" height="106" /></a></p>
<p>Um Die Distanz eines iPhone Users zu einem bestimmten Punkt zu bekommen, kann man die CLLLocation Methode getDistanceFrom wunderbar nutzen.<br />
Vorraussetzung ist die Position des Gerätes. In der Methode</p>
<blockquote><p><strong>- (void)locationManager:(CLLocationManager *)manager<br />
didUpdateToLocation:(CLLocation *)newLocation<br />
fromLocation:(CLLocation *)oldLocation</strong></p></blockquote>
<p>kann dann folgender Codeschnipsel genutzt werden:</p>
<blockquote><p><em>// hier die gewünschten GPS Koordinaten eingeben, die Beispieldaten sind von der Infinity Loop</em><br />
CLLocation *DestinationLocation = [[CLLocation alloc]initWithLatitude:37.3307060 longitude:-122.0414486];</p>
<p><em>//Distanz in m berechnen</em><br />
double dist = [newLocation  distanceFromLocation:festplatzlocation];</p></blockquote>
<p>Um zu erkennen, ob der Nutzer innerhalb eines bestimmten Radiusses um einen Punkt ist, kann man eine maxdist definieren und danach darauf prüfen.</p>
<blockquote><p>double maxdist = 3500;</p>
<p>if(dist&lt;maxdist){</p>
<p>NSLog(@&#8221;kleiner&#8221;);<br />
NSString *Distanzstring = [[NSStringalloc]initWithFormat:@&#8221;Distanz: %g (m)&#8221;,dist];<br />
UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:nilmessage:Distanzstring delegate:selfcancelButtonTitle:@&#8221;OK&#8221;otherButtonTitles:nil]; [alert show];<br />
[alert release];<br />
}else {<br />
NSLog(@&#8221;grösser&#8221;);<br />
}</p></blockquote>
<p>Deprecated ist die folgende Methode / Bestimmung der Distanz</p>
<blockquote><p>//double dist = [newLocation getDistanceFrom:festplatzlocation] / 1000;</p></blockquote>
<p>Fertig ist eine schöne und einfache Möglichkeit, die position des Nutzer zu verwenden. <strong></strong></p>
<p>(<strong>Corelocation.Framework</strong> muss natürlich in das Projekt eingebunden sein)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexanderjaeger.de/gps-distanz-von-nutzer-zu-punkt-bestimmen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XCode Projekt umbennen</title>
		<link>http://www.alexanderjaeger.de/xcode-projekt-umbennen/</link>
		<comments>http://www.alexanderjaeger.de/xcode-projekt-umbennen/#comments</comments>
		<pubDate>Thu, 06 May 2010 10:22:56 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[neuer Name]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[projekt]]></category>
		<category><![CDATA[rename]]></category>
		<category><![CDATA[umbenennen]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.alexanderjaeger.de/?p=1085</guid>
		<description><![CDATA[Wer mal ein XCode Projekt umbenennen wollte/musste war bis dato ziemlich aufgeschmissen. Das Umbenennen war ein einziger Krampf. Mit der neuen XCode Version hat Apple hier aber nachgelegt und ein Feature eingbaut, was man eigentlich in jeder Entwicklungsumgebung erwartet: Project Rename Um ein XCode iPhone / iPad Projekt neu zu benennen einfach folgende Schritte durchlaufen: [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alexanderjaeger.de/wp-content/uploads/2010/05/xcode_projekt_rename_1.png"><img class="aligncenter size-full wp-image-1086" title="xcode_projekt_rename_1" src="http://www.alexanderjaeger.de/wp-content/uploads/2010/05/xcode_projekt_rename_1.png" alt="" width="343" height="90" /></a></p>
<p>Wer mal ein XCode Projekt umbenennen wollte/musste war bis dato ziemlich aufgeschmissen. Das Umbenennen war ein einziger Krampf. Mit der neuen XCode Version hat Apple hier aber nachgelegt und ein Feature eingbaut, was man eigentlich in jeder Entwicklungsumgebung erwartet: <strong>Project Rename</strong></p>
<p>Um ein XCode iPhone / iPad Projekt neu zu benennen einfach folgende Schritte durchlaufen:</p>
<p>1. Project -&gt; Rename</p>
<p>2. Neuen Namen eingeben</p>
<p>3. Xcode überprüfen lassen, auf was sich die Änderung auswirkt</p>
<p>4. Snapshot erstellen lassen</p>
<p>5. fertig</p>
<p><a href="http://www.alexanderjaeger.de/wp-content/uploads/2010/05/xcode_projekt_rename_2.png"><img class="aligncenter size-full wp-image-1087" title="xcode_projekt_rename_2" src="http://www.alexanderjaeger.de/wp-content/uploads/2010/05/xcode_projekt_rename_2.png" alt="" width="476" height="383" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexanderjaeger.de/xcode-projekt-umbennen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

