Passend zum morgigen offiziellen Verkaufsstart des iPhone 4 hat electrobeans eine Übersicht der neuesten Reviews erstellt. Es handelt sich natürlich um englischsprachige Artikel. Damit ist auch klar ist, welches Land die Testgeräte bevorzugt erhalten hat. :-)
Archiv für die Kategorie ‘iPhone’
iOS 4 seit heute erhältlich
Sofern Ihr nicht hinter dem Mond lebt, wisst Ihr es sicher bereits: iOS 4 ist für den iPod Touch und das iPhone (3GS und 3G) seit heute verfügbar.
Eine Übersicht der Änderungen und direkte Downloadlinks findet Ihr zum Beispiel bei
Macnotes
fscklog
iPhoneBlog
MacLife
Update: Lesenswert ist auch das wie gewohnt umfangreiche (englische) Review zu iOS 4 bei ars technica.
DevTipp 5 – CoreData SQL Debug
CoreData ist in der Mac und iPhone-Entwicklung das ORM-Werkzeug der Wahl. Objekte lassen sich damit ohne einer einzigen Zeile SQL in der darunterliegenden relationalen Datenbank speichern und auch wieder auslesen. CoreData generiert dabei natürlich fleissig weiterhin SQL-Code und den kann man sich sogar ausgeben lassen. Wer sehen möchte, was im Hintergrund passiert muss lediglich ein Argument an die ausgeführte Anwendung übergeben. Dazu öffnet man in Xcode 3.2 über das Projektmenü die Eigenschaften des aktiven Executables und dann den Reiter Arguments und fügt das Argument -com.apple.CoreData.SQLDebug 1 (inkl. Bindestrich) zur Aktivierung des SQL-Debugs hinzu.
Der SQL Output wird daraufhin direkt auf der Debugkonsole ausgegeben.
Erste Einblicke in Xcode 4
Apple hat auf der WWDC eine erste Preview von Xcode 4 verteilt. Sofern Ihr kein glücklicher Teilnehmern der Konferenz wart, könnt Ihr nun bei Apple Insider einen Blick auf die neue Oberfläche und Features werfen.
Jeff LaMarche zeigte sich in seinem Resumee der WWDC jedenfalls äußerst beeindruckt von der neuen Version. Der Ansatz, den Interface Builder und Editor unter einem Dach zusammenzufassen, sieht vielversprechend aus. Mich jedenfalls nervt es, zwei Tools gleichzeitig geöffnet haben zu müssen.
Wer sich näher informieren möchte, kann dies über die zwischenzeitlich erhältlichen Videos der diesjährigen WWDC in Angriff nehmen und sich damit die Wartezeit auf einen Download für nicht-privilegierte Entwickler ein wenig verkürzen. Wann Xcode 4 verfügbar sein wird, ist bislang noch nicht bekannt.
(via Apple Insider)
WWDC 2010 Videos bereits verfügbar
Setzt Euch besser hin, denn jetzt kommt ein Kracher, der aktuell gerade durch den Twitter-Ticker rattert:
Die WWDC ist noch keine Woche beendet und schon sind die Videos der einzelnen Vorträge in HD und SD über iTunes verfügbar. Dauerte es letztes Jahr noch 2 Monate und in den Jahren zuvor noch länger, hat sich Apple diesmal selbst übertroffen. Und es kommt noch besser: Die über 100 Videos stehen allen registrierten Apple-Entwickler kostenlos (!!!) zur Verfügung.
Ich kann jedem Entwickler die Videos nur ans Herz legen, denn hier findet man hochwertige Vorträge mit vielen Informationen und Beispielen. Offen gesagt waren sie meiner Meinung nach auch locker die Investition der paar Hundert Dollar mehr als wert. Aber schließlich verdient Apple genug Geld mit uns, da können sie auf die paar zusätzlichen Einnahmen sicher gut verzichten.
Mehr Informationen zu den einzelnen Sessions und der zugehörige Sourceode sind ebenfalls verfügbar.
DevTipp 4 – Objekte clonen
Ein Objekt zu kopieren klingt nach einer simplen Aufgabe. Objective-C enthält allerdings keine eigenen Sprachkonstrukte, um unabhängige neue Objektinstanzen mit den indentischen Eigenschaften eines bestehenden Objekts zu erstellen. Allerdings enthält die universelle Basisklasse NSObject bereits eine Methode copy, die auf Klasseninstanzen aufgerufen werden kann. Die copy-Methode selbst ruft allerdings eine weitere Methode auf, die dem NSCopying-Protokoll folgt. Kopierfähige Klassen müssen also zwingend dieses Protokoll implementieren.
Im Header-File der Klasse wird das Protokoll angegeben:
@interface eineKlasse : NSObject <NSCopying> {
...
}
Im Implementierungsteil muss lediglich die Methode copyWithZone implementiert werden, die sich um das Kopieren des Objekts kümmert und als Ergebnis eine neue Objektinstanz zurückliefert:
- (id) copyWithZone: (NSZone *) zone
{
eineKlasse *aCopy = [[self class] allocWithZone: zone];
// Hier folgene weitere Zuweisungen der Eigenschaften vom Original-Objekt an die
// Objektkopie
// aCopy.aParameter = self.aParameter
return aCopy;
}
Die Methode muss selbst dafür sorgen, das alle benötigen Objekteigenschaften des Originalobjekts an die Eigenschaften der erzeugten Kopie weitergegeben werden. Jetzt können Objekte mit der copy-Methode erzeugt werden.
Der Übergabeparameter vom Typ NSZone (in diesem Fall immer nil) beschreibt einen Bereich im Speicher, auf dem das neue Objekt allokiert werden soll. Bei nil wird automatisch der Standardbereich verwendet.
Open Source Apps
Es ist sicher kein Geheimnis, dass die Analyse fremden Sourcecodes nicht nur interessant sondern auch lehrreich sein kann. Im iPhone Umfeld gibt es überraschend viele Open Source Projekt und ManiacDev.com hat sich die Mühe gemacht, 35 davon in einer Liste zusammenzustellen, die namenhafte Apps wie z.B.
enthält. Werft mal einen Blick darauf, es schadet sicher nichts.
iOS 4 Walkthrough
Wer sich einen nahezu vollständigen Überblick über iOS 4 verschaffen möchte, nutzt dazu am Besten das Walkthrough bei TiPb.
Und wenn man schon auf der Seite ist, lohnt sich auch ein Blick auf den ebenfalls sehr ausführlichen Artikel über die neue Hardware des iPhone 4.
iPhone-App: iTunes Connect Mobile
iPhone Applikationen wie z.B. AppSales Mobile, die mangels einer API die iTunes Connect Daten scrapen mussten, um sie dem Entwickler zur Verfügung stellen zu können, wurden bislang nicht in den offiziellen App Store gelassen. Da AppSales Mobile vom Entwickler als Open Source veröffentlicht wurde, gab es trotzdem eine praktikable Lösung.
Apple hat es nun aber nach vielen Jahren geschafft, ein wenig Entwicklungsressourcen freizuschaufeln, um eine eigene Lösung anzubieten. iTunes Connect Mobile ist seit wenigen Tagen kostenlos verfügbar und bietet grundlegende Funktionen, um auf die iTunes Connect Daten zuzugreifen:
- Übersicht der Verkaufszahlen pro Tag/Woche/mehreren Wochen
- Unterteilung in kostenlose/kostenpflichtige Apps
- Darstellung der Verkaufszahlen pro App und Land
Es ist ein Anfang, aber derzeit überzeugt AppSales Mobile durch einen deutlich größeren Funktionsempfang.
Herr der Daten
Viele von Euch werden sich sicherlich noch an die Diskussionen aus dem letzten Jahr erinnern, ob und wenn ja, welche Daten ein mobiles Endgerät über seinen Benutzer verbreiten darf. Im Detail könnt ihr die gesamte Geschichte beim fscklog nachlesen. Kurz gesagt ging es um die Frage, ob eine mehr oder weniger klare Formulierung in den Nutzungsbedingungen des iTunes Stores eine ausreichende Grundlage darstellt, um Benutzerinformationen wie z.B. eine Geräte-ID, den Standort, die Nutzungsdauer und bei Verwendung von Facebook auch Geschlecht und Alter an den Softwarehersteller übermitteln zu können.
Apple ließ die Diskussion solange kalt, bis sie selber betroffen waren: Flurry spekulierte im Januar 2010 auf seiner Webseite über eine neue Apple Hardware auf der Basis von Informationen, die ohne Wissen der Benutzer durch äußerst mitteilsame Bibliotheken der auf dem Apple Campus eingesetzten Geräte gewonnen wurde. Steve Jobs äußerte sich kürzlich auf der D8-Konferenz noch Monate später not amused über den Vorfall und begründete damit die im April durchgesetzte Änderung der Geschäftsbedingungen:
The use of third party software in Your Application to collect and send Device Data to a third party for processing or analysis is expressly prohibited.
Eine klare Linie: Es dürfen keine Bibliotheken mehr zum Einsatz kommen, um Geräteinformationen zu sammeln und an Dritte zu verschicken.
Damit hatte Apple ein paar Wochen Spaß und konnte dem einen oder anderen Anbieter sicher einen gehörigen Schrecken einjagen.
Letzte Woche wurde nun iOS 4.0 und in diesem Zuge auch iAd (erneut) vorgestellt. Grundlage jeglicher Werbung sind aber qualifizierte Informationen über die potentiellen Kunden und ihre Geräte. Also hat Apple die Geschäftsbedingungen wieder geändert und eingeführt, dass die Bibliotheken unter der Voraussetzung eingesetzt werden können, dass
- die Anwender dem Versand der Informationen zugestimmt und
- Apple dem unabhängigen Werbeanbieter die Erlaubnis zur Erhebung und Verarbeitung der Daten erteilt hat.
Damit wird zukünftigen Diskussionen – zumindest benutzerseitig – der Wind aus den Segeln genommen: Der Benutzer ist Herr seiner Daten, ohne seine Einwilligung darf eine Übertragung von Geräteinformationen nicht erfolgen. Jeder sollte sich im Internet immer bewusst entscheiden können, wem er welche Daten zur Verfügung stellt.
Dass Apple mit dieser Änderung nicht nur die Interessen der Benutzer vor Augen hatte, zeigt sich durch die zweite Voraussetzung, denn die Erlaubnis wird nur “unabhängigen” Werbeanbietern erteilt. “Unabhängig” heisst in diesem Kontext:
…an advertising service provider owned by or affiliated with a developer or distributor of mobile devices, mobile operating systems or development environments other than Apple would not qualify as independent.
Google == Android == Mobile devices
AdMob == Google == abhängig
Tja, ein weiterer Fall für die FTC…?






