iPhone OS 3.0 API Änderungen

iPhone OS 3.0 SearchBarNach dem Upgrade auf das brandneue iPhone OS 3.0 funktioniert nicht mehr jede Applikation. Seit Mai prüft Apple bereits bestehende und neu in den App-Store eingestellte Apps auf Kompatibilität. Entwickler wie wir tappen bei der Umstellung hier und da in die kleinen aufgestellten Fallen, so auch bei der neuen Reader App:

Sortiere Listen (z.B. eine Buchliste) realisiert man für den Anwender komfortabel als TableView mit oben angesetzter Suchfunktion UISearchBar. Die Eingabe eines Buchtitels filtert die passenden Werke heraus.

Hierfür müssen in der Programmierung verschiedene Eigenschaften z.B. für die Texteingabe in der Suchleiste angepasst werden. Dies geschieht mittels Zugriff auf das UITextField innerhalb des UISearchBar Objekt.

Gehen wir von einer Suchleiste mit folgender Definition aus:
searchBar = [[UISearchBar alloc]
  initWithFrame:CGRectMake(0,44, self.view.bounds.size, 48)];

Nun kann man einfach die Eigenschaften der searchBar setzen:
searchBar.tintColor = myColor;
searchBar.delegate = self;

Auf die Eigenschaften des Text-Elements geschah der Zugriff bis iPhone OS 2.2 so:

((UITextField *)[(NSArray *)[searchBar subviews]
  objectAtIndex:0 ]).enablesReturnKeyAutomatically = NO;
((UITextField *)[(NSArray *)[searchBar subviews]
  objectAtIndex:0 ]).returnKeyType = UIReturnKeyDone;
((UITextField *)[(NSArray *)[searchBar subviews]
  objectAtIndex:0 ]).delegate = self;

Seit iPhone OS Version 3.0 hat sich eine Kleinigkeit geändert die dazu führt dass die Applikationen unter der jeweils anderen mit einer Uncaught Exception "[UISearchBarBackground setEnablesReturnKeyAutomatically:]: unrecognized selector sent to instance xxx" zur Laufzeit abstürzen.

Die Lösung ich recht einfach. Das UITextField Objekt befindet sich unterhalb der SearchBar nicht mehr am Index 0, sondern muss jetzt über die 1 angesprochen werden:
((UITextField *)[(NSArray *)[searchBar subviews]
  objectAtIndex:1 ]).enablesReturnKeyAutomatically = NO;
((UITextField *)[(NSArray *)[searchBar subviews]
  objectAtIndex:1 ]).returnKeyType = UIReturnKeyDone;
((UITextField *)[(NSArray *)[searchBar subviews]
  objectAtIndex:1 ]).delegate = self;

Vielleicht hilft es dem ein- oder anderen dieses Schlagloch einfach zu vermeiden. Hilfreich bei der Problemlösung war ein Post von Dan Grigsby .

[EMWEE.de] [del.icio.us] [Reddit] [Slashdot] [Digg] [Facebook] [Technorati] [Google] [StumbleUpon] [Windows Live] [Netscape] [Yahoo]

GMX-Mails mit iPhone OS 3.0

Bislang hatte ich mit dem iPhone eher selten E-Mails gelesen. Zu schnell war eine Spam-Mail im Posteingang angeklickt, die dann mittels in HTML eingebetteter Bilder nach Hause gefunkt hat dass sie doch ein Trottel "gelesen" hat. Darüber freut sich der Spammer, weil dann kann er mir noch mehr Müll schicken…

iPhone-Einstellungen Entfernte Bilder laden Seit iPhone OS 3.0 ist es endlich möglich dies in den Einstellungen unter Mail, Kontakte, Kalender mittels Schalter Entferne Bilder laden zu unterbinden. Grund genug, die deaktivierten Mail-Accounts zu neuem Leben zu erwecken! Doch bei der Aktivierung eines GMX-Postfachs eine Überraschung: Das iPhone meldet

Emails können nicht empfangen werden. Die Verbindung zum Server "imap.gmx.net" ist fehlgeschlagen.

Die Lösung war dann aber recht schnell gefunden: Read more »

[EMWEE.de] [del.icio.us] [Reddit] [Slashdot] [Digg] [Facebook] [Technorati] [Google] [StumbleUpon] [Windows Live] [Netscape] [Yahoo]

Homepage: Petra Kunde Wirtschafts- und Steuerberatung

Eine gute Homepage muss nicht teuer sein. Für die Petra Kunde Wirtschafts- und Steuerberatung habe ich gerade diese hier umgesetzt:

Petra Kunde Wirtschafts- und Steuerberatung

Dabei wurden insbesondere folgende Anforderungen realisiert:

  • Einfache Editierbarkeit von Inhalten durch Mitarbeiter des Kunden: Texte, Downloads, etc.
  • Einfügen von Klapptexten im Fließtext ohne HTML-Kenntnisse
  • Im Redationsbereich für jede Seite austauschbar: Claim-Text und Ambiente-Bild
  • Spam-Schutz: E-Mail Adressen werden durch Bilder oder Verschleierung in JavaScript Code eingesetzt
  • Feedback-Formular mit Captcha-Schutz vor Missbrauch
  • Anspruchsvolles Menü mit animierten Unterpunkten (Hover)
  • Volle Funktion auch bei abgeschaltetem JavaScript
  • Anpassung an praktisch alle Browser: Internet Explorer ab 6.0, Mozilla Firefox ab 2.0 (Mac+Windows), Safari 3 (Mac/Windows), Google Chrome (Mac/Windows)
  • Caching für schnellen Seitenabruf
  • Basierend auf WordPress als schlankes Content Management System
[EMWEE.de] [del.icio.us] [Reddit] [Slashdot] [Digg] [Facebook] [Technorati] [Google] [StumbleUpon] [Windows Live] [Netscape] [Yahoo]

iPhone App: Ein Reader für …

Täglich werden fast Einhundert iPhone Applikationen veröffentlicht. Manche sinnvoller, andere lustiger. Fakt ist, dass EMWEE.de den Weg zur eigenen App nun stark verkürzt. Damit könnten Sie auch Ihre Informationen direkt in die Hand von Millionen Menschen legen:

EMWEE.de entwickelt seit Monaten iPhone Apps im Kundenauftrag. Nun haben wir zusätzlich eine Basis-Applikation erstellt, die sich einfach für Ihre Bedürfnisse anpassen läßt.

Als erste Implementierung kommt der iPhone Reader bei einem neuen Portal für freie Autoren zum Einsatz. Vorab ein paar Screenshots:

iReader - BooksiReader - Author

Der iPhone Reader arbeitet dabei mit einer Datenbank im Internet zusammen, die jeweils die aktuellen Inhalte bereitstellt. So kommen die verfügbaren Bücher, Texte, Informationen über Autoren und deren Werke, Buch- und Kapitelcover, Bewertungen und Merkmale wie "Top" und "Neu" sekundenaktuell ohne merkliche Verzögerung auf das Display des Nutzers. Read more »

[EMWEE.de] [del.icio.us] [Reddit] [Slashdot] [Digg] [Facebook] [Technorati] [Google] [StumbleUpon] [Windows Live] [Netscape] [Yahoo]

iPhone Flaschendrehen Prototyp

Für eine innovative Kommunikationsagentur in Berlin haben wir in den letzten Monaten einen App-Protypen für das iPhone erstellt:

lifetwister - Startup Screen lifetwister - Restaurant Empfehlung

Read more »

[EMWEE.de] [del.icio.us] [Reddit] [Slashdot] [Digg] [Facebook] [Technorati] [Google] [StumbleUpon] [Windows Live] [Netscape] [Yahoo]