Mrz 31 2008

Hello World Programm mit Interface Builder und iPhone SDK Beta 2

Kategorie: Tipps & Tricksholeg

Wem es bisher ein Rätsel war, wie man Interface Builder Nib-Files in der 2. Beta Version des SDK in sein Programm einbindet, dem ist jetzt geholfen. Muthu Arumugam veröffentlichte auf seinem Blog ein Hello World Tutorial welches dies in einer Step by Step Anleitung sehr gut demonstriert.


Mrz 28 2008

Beta 2 des iPhone SDK veröffentlicht

Kategorie: Newsholeg

Gestern veröffentlichte Apple die 2. Beta Version des iPhone SDK. In dieser Version ist es nun möglich Cocoa Touch GUIs mit dem Interface Builder per Drag und Drop zu erstellen. Des weiteren räumte Apple bei den Klassen einiges auf. Die Änderungen können registrierte iPhone Developer hier nachlesen. Wer Schwierigkeiten mit der Einbindung von Nib-Files des Interface-Builders hat, findet hier vielleicht Hilfe.


Mrz 27 2008

The iPhone Developer’s Cookbook

Kategorie: Bücherholeg

The IPhone Developer’s Cookbook: Building Native Applications for the IPhone

Erica Sadun’s Buch "The IPhone Developer’s Cookbook: Building Native Applications for the IPhone" kann inzwischen vorbestellt werden. Das Buch behandelt das offizielle SDK im Gegensatz zu Jonathan Zdziarskis Buch "iPhone Open Application Development", welches auf die inoffizielle "Open Toolchain" eingeht. Wann das Buch allerdings erscheinen wird ist noch unklar. In Ihrer Mailingliste wies Erica Sadun darauf hin, dass das Buch zwar inzwischen fertig sei, aber "rechtliche Probleme" mit Apple im Weg stünden.

I can’t write about the SDK for TUAW, for O’Reilly and can’t pub anything (we’re even worried about technical review!) for Addison Wesley.

– Erica, upcreek
p.s. Just to make this a not completely about me post: Be careful …..

p.p.s. NDA in a nutshell:

1. The first rule of NDA is you don’t talk about NDA, Apple or SDK
2. There is no 2nd rule


Mrz 26 2008

Code Beispiele und Anleitungen zum neuen iPhone SDK

Kategorie: Allgemeinholeg

Liebe Leser,

wie Ihr sicherlich bemerkt habt, habe ich seit dem Erscheinen des offiziellen iPhone SDK’s keine weiteren Anleitungen und Code-Beispiele hier veröffentlicht. Der Grund ist der, dass ich mit dem Download des SDK’s die Lizenzvereinbarungen von Apple akzeptiert habe. In diesen steht, dass man keine Informationen des Beta-Programms und der SDK-Dokumentation veröffentlichen darf. Dummerweise stammen fast alle Informationen, welche ich mir inzwischen angeeignet habe von der SDK-Dokumentation. Würde ich also ein Tutorial oder Code-Beispiele veröffentlichen, würde ich gegen die Lizenzbestimmungen verstossen.

Ich werde hier weiter News zum Thema iPhone Programmierung veröffentlichen und vielleicht ein paar allgemeine Objective-C und Cocoa Tutorials, aber SDK spezifische Tutorials, kann ich erst veröffentlichen wenn die Beta-Phase vorbei ist und ich offizielles Mitglied im iPhone Developer Programm bin. Ich hoffe Ihr habt Verständnis

– Holeg


Mrz 18 2008

Open Toolchain Quellcode für die iPhone 2.0 Aspen Plattform kompilieren.

Kategorie: Allgemeinholeg

NES.app unter Aspen

Wie schon zuvor angekündigt, hat es iPhone Hacker Jonathan Zdziarski, Autor des Buches iPhone Open Application Development, nun geschafft mit der der Open Toolchain (inoffizielles SDK) Programme für die Aspen Plattform (iPhone Firmware 1.2 bzw 2.0) zu kompilieren. Zdziarski passte dazu u.a. die Header an, so dass die neuen Funktionen und Klassen der Aspen Plattform ansprechbar sind. Mit diesen Headern ist es sogar möglich mit dem neuen SDK auf die alt bewährten Klassen zurückzugreifen. Dadurch kann man seinen alten Toolchain-Quellcode ohne Änderungen auf dem neuen SDK kompilieren. Allerdings wird Apple solche Applikationen nicht im iTunes App Store zulassen. Daher empfiehlt es sich diese Funktionen nur zu benutzen, wenn man Programme ohne DRM veröffentlichen möchte oder Funktionen benötigt, welche Apple im SDK versteckt hat.

Die Header Dateien für das neue SDK können vom SVN des iPhone dev teams mit folgendem Befehl runtergeladen werden:

svn co http://iphone-dev.googlecode.com/svn/branches/include-1.2-sdk

Eine fertige binary Toolchain für Mac OSX Leopard mit Aspen Support gibt es hier.

Mehr Informationen kann man auf Zdziarskis Blog nachlesen.


Mrz 12 2008

Dual Boot fürs iPhone

Kategorie: Newsholeg

In der Desktop-Welt ist es gang und gäbe mehrere Betriebssysteme zu installieren und beim Bootvorgang auszuwählen, welches System gestartet wird. Dies ist nun auch auf dem iPhone möglich. Der iPhone Hacker Jonathan “NerveGas” Zdziarski veröffentlichte in seinem Blog eine Anleitung wie man auf dem iPhone z.B. Firmware 1.1.1 und 1.1.4 gleichzeitig installieren kann. Für iPhone Entwickler eine feine Sache um sein Programm auf verschiedenen Firmwares testen zu können. Der Otto-Normal-Verbraucher sollte aber lieber die Finger davon lassen, denn die Anleitung ist für Entwickler bestimmt, die wissen sollten was sie tun.

The dev team has been using dual-booting to jailbreak the iPhone for several months now, however now that several more advanced techniques have been developed (many of which are still private), I thought it apropos to release this cool hack for those who would like to dual boot multiple versions of the iPhone software (or other OS’s) from their handset. It’s a neat little hack that I think might be useful for developers playing with 1.2, especially since 1.2 appears to disable your ability to make phone calls (as it is for development).


Mrz 12 2008

iPhone 2.0 Firmware schon jailbroken?

Kategorie: Rumorsholeg

Wie auf modmyifone und macrumors zu lesen ist, hat das iPhone dev team bereits einen Jailbreak für Firmware 1.2 beta, welche im Juni als 2.0 veröffentlicht werden soll, entwickelt. Laut Aussagen eines gewissen “King Chronic”, der anscheinend sehr gute Kontakte zum dev team hat, soll es demnächst ein Video auf YouTube geben, welches die neuen Features der neuen Firmware auf einem gejailbreakten iPhone demonstrieren wird. King Chronic berichtete weiterhin, dass das dev-team mit der Veröffentlichung des Jailbreaks so lange warten möchte, bis die Version 2.0 offiziell veröffentlicht wird, damit Apple keine Gelegenheit bekommt die Löcher vor der Veröffentlichung zu schließen.

Jailbreak Firmware 2.0


Mrz 11 2008

Jonathan Zdziarski fordert Entwickler auf das alte und freie iPhone SDK weiter zu benutzen.

Kategorie: Newsholeg

Der iPhone Hacker Jonathan Zdziarski, Autor des Buches iPhone Open Application Development und einer der Entwickler des Jailbreaks schreibt in seinem Blog einige interessante Dinge über das neue SDK. Als Verfechter von freier Software ist er nicht sonderlich von Apples Einschränkungen angetan und fordert alle Entwickler dazu auf auch weiterhin das alte SDK (Toolchain) zu benutzen. Er arbeite gerade an einer Library, welche es ermöglichen soll mit dem alten SDK auch weiterhin Programme für die neue 2.0 Firmware, welche Ende Juni veröffentlicht werden soll, zu schreiben. Laut Zdziarski existieren die alten bekannten Funktionen und Frameworks immer noch in der neuen Firmware, nur sind sie als “privat” deklariert worden und somit für den Compiler nicht mehr sichtbar. Dies kann ich nur bestätigen, denn meine ersten Tests vom neuen SDK haben ergeben, dass bei vielen Funktionen lediglich Warnungen vom Compiler angezeigt werden, die entsprechende Funktion aber trotzdem ausgeführt wird. Zdziarski vertritt weiterhin die Meinung, dass Apple intern mit den selben Frameworks, welche auch das inoffizielle SDK benutzt, arbeite und er denkt nicht, dass Apples die eigenen Programme umschreiben wird, da diese bis heute eine guten QA erfahren habe, was mit einem komplett neuen Framework wieder völlig zerstört werden würde. Apple hat lediglich einen Wrapper um die alten Klassen gebaut.

Just to confirm, the “Aspen” frameworks included with Apple’s SDK appear to fully support the APIs used by the open tool chain - likely, because these are the real low-level APIs that are being used by Apple’s own applications. While the Apple SDK has removed many methods from their headers, they still exist in the framework. For example, all of our old friends from UIHardware and UIKeyboard are in there:

30b32e9c t +[UIHardware deviceOrientation:]
30b3375c t +[UIHardware fullScreenApplicationContentRectForCurrentDeviceOrientation]
30b32e40 t +[UIHardware fullScreenApplicationContentRect]

30be7744 t +[UIKeyboard activeKeyboard]
30be77d4 t +[UIKeyboard defaultSizeForInterfaceOrientation:]
30be7818 t +[UIKeyboard defaultSizeForOrientation:]
30be778c t +[UIKeyboard defaultSize]
… and so on


Mrz 06 2008

Apples Developer Server überlastet, iPhone Developer Program und Beta Program für Firmware 2.0 erstmal nur für US-Bürger

Kategorie: Allgemeinholeg

Die Server von Apples Developer Connection Website sind total überlastet. Seit 2 Stunden versuche ich nun Mitglied des iPhone Developer Programs zu werden und das SDK downzuloaden, leider ohne Erfolg. Auf einigen Fragmenten der Site, welche ich empfangen konnte war zu lesen, dass das iPhone Developer Program anfänglich nur für Bürger der Vereinigten Staaten zu haben sei und andere Länder in ein paar Monaten folgen sollen. Ebenso muss man US-Bürger sein und diverse andere Richtlinien erfüllen um im Vorfeld die Betaversion von Firmware 2.0 zu bekommen. Hoffentlich kann man als Nicht Amerikaner zumindest das SDK downloaden. Wenn die Server wieder erreichbar sind werde ich es wissen….

Update: Ich bin jetzt bis zum Download vorgedrungen. 2 Gig Daten bei 644KB/sec ist zumindest mal erfolgsversprechend. Weiterhin konnte ich schon ein paar Seiten auf Apples Developer Connection Website lesen und muss sagen, vieles kommt mir schon bekannt vor ;-).

Update: SDK ist da (freu ..) und wurde gleich installiert. Der Interface Builder, das Tool zur grafischen Erstellung von User Interfaces, ist bei der ersten Version des SDKs noch nicht dabei und soll in der finalen Version folgen.

Note: Interface Builder is not in the early beta of the SDK. It will be available in the final release of the product

Der iPhone Simulator ist der Hammer. Das spart ne Menge Zeit bei der Entwicklung. Meine mit dem inoffiziellen SDK erstellten Programme funktionieren allerdings nicht auf dem Simulator. Eine Menge Dokumentation ist auch dabei (freu), allerdings ziemlich spärlich erklärt und natürlich nur in Englisch.


Mrz 06 2008

Cocoa Touch - Offizielles iPhone SDK für Entwickler veröffentlicht, Programme über iTunes App Store erst im Sommer

Kategorie: Newsholeg

Endlich ist es soweit. Nach langem Warten stellte Apple beim heutigen Event das neue iPhone SDK der Öffentlichkeit vor. Im Vorfeld gab es viele Gerüchte und Spekulationen darüber, die sich zum Teil bestätigten.

iphone sdk

  • Entwickelt wird unter X-Code in Objective C unter OS X Leopard.
  • Es gibt einen iPhone Simulator und einen Debugger.
  • Die meisten OS X Frameworks wird es auch beim iPhone geben. Das Cocoa Framework, welches für Desktop Applikationen gedacht ist, wird ersetzt durch das neue Cocoa Touch Framework.
  • Benutzeroberflächen werden mit dem neuen Interfacebuilder erstellt. Angeblich handelt es sich um das selbe SDK, welches auch Apple für die mitgelieferten Programme benutzt.
  • Neue Enterprise Features in der neuen Firmware, wie z.B. Push email, Push calendars, Push contacts, Globales Addressbuch, Microsoft Access Anbindung, Cisco VPM, Certificates und WPA2/ 802.1x, Security Policies, Device Config, und Remote Wipe.
  • Neue Drittanbieter-Programme wurden vorgestellt, u.a. einen Client für das Saleforce CRM, 2 Spiele und und ein AIM Messenger
  • Programme werden direkt im iPhone über den iTunes App Store veröffentlicht, installer.app a la Apple sozusagen. App Store wird in der nächsten Firmware mit dabei sein.
  • Apple verlangt 30% vom Umsatz, Freeware Programme können kostenlos angeboten werden, allerdings verlangt Apple eine Gebühr von $99/Jahr für die Mitgliedschaft beim iPhone Developer Programm, welches Voraussetzung ist, um überhaupt Programme über iTunes App Store anbieten zu können.
  • Die nächste Firmware mit der Versionsnummer 2.0 wird im Juni erhältlich sein. Entwickler bekommen ab heute eine Betaversion.
  • Das SDK ist für jeden Entwickler ab heute von der Apple Developer Seite umsonst erhältlich.

Mrz 02 2008

Mini-Browser mit UIWebView erstellen Teil 1

Kategorie: Anleitungen / Dokusholeg

Wer in sein iPhone Programm einen Browser integrieren möchte, macht dies am besten mit UIWebView. Leider gibt es einige Hürden zu überwinden, denn ein Programm, welches UIWebView benutzt lässt sich nicht ohne Modifizierung einiger Header Files kompilieren. Hier merkt man die Nachteile eines selbstgestrickten SDKs. Wahrscheinlich wird es solche Probleme mit dem offiziellen SDK, welches am 6. März vorgestellt werden soll nicht mehr geben. Ich werde im Anschluss aber trotzdem kurz darauf eingehen, denn wer weiss wann wir wirklich das SDK in die Hände bekommen.

weiterlesen …


Mrz 01 2008

Lokalisierung mit Hilfe von NSLocalizedString()

Kategorie: Anleitungen / Dokusholeg

In diesem Artikel möchte ich zeigen wie man ein iPhone Programm für mehrere Sprachen fit macht. Bei Mac Programmen ist es z.B. üblich dass es nur eine Programmversion für alle Sprachen gibt. Ändert man bei den Systemeinstellungen die Sprache, ändert sich bei den Programmen die Sprache gleich mit, sofern sie für diese Sprache lokalisiert wurden. Gibt es keine Lokalisierung wird die Standardsprache benutzt. Diese Art der Lokalisierung ist auch beim iPhone implementiert und wird auf die selbe Weise programmiert. Dazu benötigt man in seinem Programm lediglich die Funktion NSLocalizedString(). Die Funktion erwartet als ersten Parameter einen Schlüssel und als zweiten Parameter einen “Fallback-String”. D.h. wenn der Schlüssel nicht existiert wird der “Fallback-String” angezeigt.

weiterlesen …