"Creating a universal application is not supported in the initial seed release of iPhone OS 3.2. Support for creating universal binaries will be added to a later seed." Somit muss ein Entwickler derzeit auf die 2. oder 3. Variante ausweichen oder auf die nächste SDK Version warten. Übrigens, wer ein vorhandenes iPhone Projekt direkt für das iPad kompilieren möchte, sollte die neue Xcode Funktionalität der "Transition" nutzen. Dazu wählt der Entwickler innerhalb von Xcode das target des iPhone-Projektes im Projektbaum aus und wählt im Menü "Project" den Punkt "Transition". Daraufhin wird ein neues iPad-Target dem Projekt hinzugefügt und die Einstellungen dieses dementsprechend angepasst. (Ich hatte bei diesem Vorgang jedoch Probleme mit vorab selbst hinzugefügten Bibliotheken und musste unter den Target-Settings die Suchpfade für die Bibliotheken neu einstellen). Beim Kompilieren kann nun das jeweilige Target ausgewählt werden. Neue Features: Auf Grund der Größe des iPad's und auch der gewachsenen Anforderungen wurde das SDK natürlich um einige neue Merkmale erweitert. Eine Kurzübersicht dazu folgt nun gefolgt von genaueren Erläuterungen:
Split-Views: Eines der auffälligsten neuen UI-Elemente ist die Split-View. Diese ist im Endeffekt eine vertikal zwei-geteilte View. Der linke Teil ist standardmäßig 320 Pixel breit und der rechte Teil wird auf den Rest des Bildschirms angepasst. Die Split-View soll auf dem iPad die Navigation-Bar ersetzen, bzw. empfiehlt Apple die Verwendung der Split-View im Austausch zur Navigation-Bar. Die Standardeinstellung der Split-View zeigt im Landscape-Format beide Seiten und im Portrait-Format nur die rechte Seite. Information zur Programmierung von Split-Views findet Ihr bei Apple hier. Popovers: Wie der Name schon sagt, handelt es sich bei diesem UI-Element um eine nicht modale View, welche wohl überwiegend Ihren nutzen in der Darstellung von Listen bzw. Informationen zu bestimmten Objekten finden wird. Apple empfiehlt z.B. die Popover's zu nutzen, wenn eine Split-View im Portrait-Format dargestellt wird (also der linke Teil der Split-View nicht sichtbar ist) um bei Bedarf den linken Teil der Split-View in einem Popover darzustellen. Auch wird von Apple gewünscht, Picker-Elemente, wie z.B. den Date-Picker nur noch in einem Popover zu verwenden: "Present a picker or date and time picker only within a popover. This placement differs from the placement recommendation for an iPhone application." Konfigurierbare Modale Ansichten: Auf dem iPhone wurden modale Views bisher als Vollbild-Ansicht dargestellt. Dies hat sich mit dem iPad geändert. Dort können die modalen Views, je nach Auswahl des Präsentations-Style auch kleiner als der gesamte Bildschirm sein. Dabei wird dann der restliche Teil des Bildschirms halbtransparent ausgegraut und bis auf der modalen View Touch-Events nicht mehr ausgewertet. Derzeit gibt es 4 Präsentations-Styles:
Toolbars auf dem iPhone konnten laut Apple Style-Guide bisher nur am unteren Bildschirm dargestellt werden. Mit dem iPad hat man die Beschränkung aufgehoben und erlaubt dem Entwickler nun die Toolbar auch am oberen Bildschirmrand zu positionieren. Apple möchte damit erreichen der Toolbar mehr Bedeutung zu zusprechen. Konfigurierbare Keyboards: iPhone OS 3.2 erlaubt es dem Entwickler eigene Keyboards zu implementieren. D.h. man ist nicht nur auf die vom System gegeben Keyboards angewiesen, sondern kann diese modifizieren oder selbst neue erstellen. Dies könnte dann z.B. von Vorteil sein, wenn man dem User die Möglichkeit geben möchte nur einen von z.B. zwei Werten in ein Textfeld einzutragen. Eigene Views welche vom Keyboard Events erhalten: Bisher gab es nur wenig UI-Elemente welche mit dem Keyboard gekoppelt waren, z.B. UITextField und UITextView. Ab iPhone OS 3.2 können solche Elemente nun selbst definiert werden. Gerade mit der Möglichkeit auch eigne Keyboards zu erstellen, entstehen ganz neue Möglichkeiten. So könnte ein Bild mit dem Keyboard gekoppelt werden, wobei auf dem Keyboard nur ein Steuerkreuz ist, welches das Bild bewegt. Mehr Infos dazu findet Ihr bei Apple hier. Rechtschreibüberprüfung / Autokorrektur: Dank der neuen UITextChecker Klasse unterstützt iPhone OS nun auch Rechtschreibüberprüfung bei der Texteingabe. Dabei unterstütz die Klasse für mehrere Sprachen auch das hinzufügen von neuen Wörtern oder aber von Wörtern welche ignoriert werden sollen. Apple selber beschreibt hier auch einen Weg, wie Autokorrektur realisiert werden kann. Mehr Infos zur Verwendung von UITextChecker findet ihr bei Apple hier. ![]() Seit dem iPhone 3G S gibt es auch die lang erwartete Funktion des Kopierens von Text und wieder einfügen an einer anderen Stelle. Um dies optisch dem Benutzer zu ermöglichen wurde das "Editig Menü" eingeführt. Dieses lässt sich nun auch neben den Systemkommandos auch mit eigenen Kommandos befüllen. Verantworlich dafür ist die Klasse UIMenuController in Kombination mit dem UIMenuItem. So lassen sich jetzt neben Kopieren, Ausschneiden, Einfügen, Markieren und Löschen auch selbst definierte Kommandos wie "Farbe Ändern" oder aber z.B. "Senden" realisieren. Auch die Richtung, in welche der Pfeil zeigt ist nun im UIMenuController einstellbar. Mehr Informationen zur Verwendung lassen sich bei Apple hier finden. PDF - Generierung: Mit dem iPhone OS 3.2 ist es erstmals möglich mit SDK-Klassen eigene PDF-Dateien zu generieren. Dabei werden die die PDF-Dateien einfach mit dem UIKit erstellt, nachdem erstmal ein PDF-Canvas festgelegt wurde. Ebenso sind Links in den PDF-Dateien möglich. Mehr Informationen, wie eine PDF-Datei erstellt wird, findet Ihr hier. Gestik-Erkennung: Eine weitere Erneuerung in iPhone OS 3.2 ist die Erkennung von speziellen Gestiken. Bisher musste der Entwickler selbst versuchen zu erkennen, wenn der Anwender beispielsweise einen Zoom oder eine Drehung der Views erzwingen wollte. Dies wird nun weitestgehend vom SDK erkannt. Dabei unterscheidet das SDK in folgende Gestiken:
Konfigurierbarer und erweiterbarer Mediaplayer: Wer bisher viel Dynamik bei Verwendung des Mediaplayer erwartet hatte, wurde entäuscht. So wurde bisher der Mediaplayer immer im Vollbildmodus ausgeführt und hatte keinerlei Möglichkeiten geboten, das User-Interface der Bedienungsknöpfe zu ändern. Dies hat sich nun mit iPhone OS 3.2 geändert. So ist es von nun an möglich Start- und Endpunkte eines Videos vorab zu bestimmen (im aktuellen BETA SDK nur der Startpunkt). Auch die Erstellung einer Vorabansicht (Thumbnail) eines Videos ist möglich. Aber die wohl entscheidensten Änderungen sind, das sich einerseits ein Video innerhalb einer View abspielen läst (also ohne Vollbildmodus) oder sogar im Hintergrund und das sich nun auch eigene Elemente zur Steuerung des Videos hinzufügen lassen, bzw lässt sich das Video mit eigenen Views überlagern. Auch kann die Hintergrundansicht eines Videos beliebig angepasst werden. FileSharing mit angeschlossenen Desktop PC's: Weiterhin neu und wahrscheinlich für viele iPhone OS Entwickler revolutionär ist, das sich eigene vom Programm ersteltte Dateien mit einem angeschlossenen Desktop-PC austauschen lassen. Das bedeutet, das Dateien, welche mit einer iPad-Applikatiom erstellt werden nun auch auf dem heimischen Desktop-PC gelangen können um dort zur eventuellen Weiterverarbeitung genutzt zu werden und umgekehrt. Der iPad ist dabei sogar in der Lage, das Verzeichnis des PC zum Datenaustausch anzuzeigen. Dateien, welche für den Austausch genutzt werden sollen, müssen auf dem iPad im Programmorder unterhalb von Documents/Shared liegen. Leider lassen sich diese Dateien jedoch nicht mit anderen iPad-Applikationen wieder verwenden, da weiterhin alle Programme auf dem iPad in einer eigenen Sandbox betrieben werden. Dennoch, lässt man seine Phantasie etwas schweifen, wären z.B. verschiedenste Text-Editoren möglich, mit welchen man Dateien, welche vorab auf dem Desktop-PC editiert wurden nun auch auf dem iPad bearbeitet werden können. Registrierung der App auf dem iPad für eigene Dateitypen: iPad-Programme lassen sich nun für beliebige Dateitypen regiestrieren, so das bei Aufruf eines bestimmten Dateitypen, eine iPad-Applikation automatisch gestartet werden kann. Um diese Funktionalität zu unterstützen hilf der UIDocumentInteractionController weiter. Unterschiedliche Startbilder je nach Bildschirmausrichtung: Wer bisher auf dem iPhone eine Applikation geöffnet hat, konnte das Startbild nur in einer Orietierungsausrichtung sehen. Mit iPhone OS 3.2 hat sich dies geändert. Der Entwickler hat von nun an die Möglichkeit für das Querformat oder Portraitfomrat jeweils ein Startbild festzulegen. Die Einstellungen dafür werden in der info.plist gehandhabt. Anschluss von externen Bildschirmen mit einer Auflösung von bis zu 1280 x 720 Pixel: Das iPad unterstützt den Anschluss von externen Anzeigegeräten mit einer Auflösung von bis zu 1280x720 Pixeln. Alles was darüber hinausgeht wird hoch skaliert. Dabei soll die Übertragung auch für "normale" Apps funktionieren, im Gegensatz zum iPhone, wo nur spezielle Apps wie der Mediaplayer die Screendaten auf ein externen Gerät übertragen konnte. "Applications can use this connection to present content in addition to the content on the device’s main screen." Besonders wichtig für Entwickler: So wie man das aus den Apple-Dokumenten raus liest, ist eine der entscheidensten Änderungen zum iPhone, das eine iPad-Applikation immer sämtliche Bildschirmausrichtungen unterstüzen muß. Dazu hier zwei Zitate aus den Guidlines: "An application’s interface should support all landscape and portrait orientations. This behavior differs slightly from the iPhone, where running in both portrait and landscape modes is not required." "Important: Although you might not have supported all orientations in your iPhone application, you must do so in your iPad application." Eine weitere neue Änderung, ist, dass das Application-Icon nun nicht mehr in einer Auflösung von 54x54 Pixeln erstellt werden soll, sondern in 72x72 Pixeln. Dies resultiert sicherlich aus der großen Bildschirmdiagonale des iPad's. Resümee: Bleibt als einizigstes zu überlegen, wie Apple es schaffen will, das in einem Xcode-Projekt mit nur einem target, es geschafft werden soll, dass die resultierende Binärdatei für das iPhone und den iPad funktionieren soll. Gerade dann, wenn Apple schreibt, das alle zu iPhone OS 3.2 hinzugefügten Klassen nur auf dem iPad funktionieren: "All of the classes available for use in iPhone applications are also available in iPad applications. (Classes introduced in iPhone OS 3.2 are not available for use in iPhone applications.)" Quellen: http://developer.apple.com/iphone/prerelease/library/documentation/General/Conceptual/iPadProgrammingGuide http://developer.apple.com/iphone/prerelease/library/documentation/General/Conceptual/iPadHIG/UIElements/UIElements.html Ihren Kommentar hinzufügen
|
Neuste BeiträgeOft gelesen |