12+ Jahre App-Entwicklung
Alles aus einer Hand
50+ Erfolgreiche App-Projekte

Blog

iOS 7 konforme Apps

Das Jahr 2013 endete mit einem großen Knall. Neben dem typischen Silvester-Feuerwerk gab es für mich und viele andere noch eine E-Mail aus Cupertino, die gerade für Januar einiges an Arbeit bedeuten konnte. Die Ankündigung von Apple ab dem 01.02.2014 nur noch Apps in den App-Store zu lassen, die iOS 7 konform sind war schon erstaunlich. Nicht wegen der Ankündigung an sich, sondern vielmehr wegen dem kurzen Zeitraum.

Ich habe die vergangene Woche, speziell den Donnerstag, genutzt, und mich mit dem Thema näher beschäftigt, um in Erfahrung zu bringen, von welchen Aufwänden im Allgemeinen auszugehen ist. Klar bleibt aber auch, dass es stark von der App abhängig ist.

Erste Anlaufstelle: Transition Guide

Über die Besonderheiten der iOS 7 Designsprache konnte man schon früh viele persönliche Meinungen von gut über schlecht lesen. Gemeinsam haben wohl alle einen kleinen Kulturschock erlebt. Auf der Suche nach dem was Apple als konform ansieht, bin ich auf Apples iOS 7 Transition Guide gestoßen, der die wichtigsten Punkte anspricht. Das Dokument könnt ihr hier finden.

Der Bereich "Scoping the Project" gab mir Entwarnung, da ich im Allgemeinen ehr Daten-getriebene Apps für meine Kunden entwickelt habe und weil die Anforderungsliste unter "Things Every App Must Do" besonders klein ausfällt.

Neue Icons reichen nicht

Zwei von drei Aufgaben, die eine App unbedingt erfüllen muss, sind grafischer Natur, die vorsehen angepasste Grafiken für Icons und Startscreen zu liefern.

Der nächste Schritt sah für mich so aus, dass ich die App mit dem iOS 7 SDK kompiliert habe. Schnell wird dabei ersichtlich: Nur das Aktualisieren der Icons reicht nicht aus. Das nachfolgende Bild zeigt, dass sich die Navigation und die Statusleiste über die Liste mit Einträgen legt. Die Navigation ist zudem nicht mehr schwarz, wie auf der linken Seite unter iOS 6.

Vergleich Navigation iOS6 und iOS 7

Der Grund dafür ist das iOS 7 dem Inhalt mehr Raum geben möchte. Deshalb bekommt die App nun die vollen zur Verfügung stehenden Bildschirmabmessungen und die Navigations- sowie Statusleiste werden über dem Inhalt eingeblendet.

Mögliche Lösungswege

Davon ausgehend, dass ich kein Xcode zum Erstellen meines Layouts verwende, gibt es meiner Meinung nach zwei mögliche Lösungswege. Der Erste bedeutet, dass man die Positionsangaben aller Controls anpasst. Das kann schon mal aufwendiger werden.

Ich bevorzuge den zweiten Weg. Denn mit iOS 7 steht uns Entwicklern die Eigenschaft EdgesForExtendedLayout zur Verfügung. Man kann damit bestimmen, wie die App das Layout bereitstellen soll. Auf diese Weise lassen sich bereits grobe Darstellungsfehler beheben. Gegebenenfalls müssen nun nur noch einzelne, gerade im unteren Bereich des Screens befindliche Controls anders positioniert werden. Folgender Code bringt Abhilfe:

int SystemVersion = Convert.ToInt16 (UIDevice.CurrentDevice.SystemVersion.Split ('.') [0]);
if (SystemVersion >= 7)
{
	EdgesForExtendedLayout = UIRectEdge.None;
    NavigationController.NavigationBar.BarStyle = UIBarStyle.Black;
}

Mit der Prüfung auf iOS 7 vermeidet man, daas die App auf älteren Geräten abstürzt. Damit die Navigationsleiste nun auch wieder schwarz dargestellt wird hilft NavigationController.NavigationBar.BarStyle = UIBarStyle.Black; weiter.

Berichtigte Navigation

Fazit

Ich für meinen Teil empfinde den Aufwand eine bestehende App auf iOS 7 Design anzupassen inzwischen nicht mehr so aufwändig. Dabei ist mit schon klar, dass eine stärker im Design modifizierte App mehr Aufwand bedeutet. Die Möglichkeiten sich aber ähnlich sind. Xamarin dachte sich wohl am Donnerstag das Gleiche und hat einen Artikel zum Thema veröffentlicht. Für mich kam er auf Grund der Zeitverschiebung allerdings zu spät.

Sebastian Seidel

Sebastian Seidel

Als Mobile-Enthusiast und Geschäftsführer der Cayas Software GmbH ist es mir ein großes Anliegen, mein Team und unsere Kunden zu unterstützen, neue potenziale zu entdecken und gemeinsam zu wachsen. Hier schreibe ich vor allem zur Entwicklung von Android und iOS-Apps mit Xamarin und .NET MAUI.

Verwandte Artikel

Voice input facilitates documentation - A hackathon topic
Voice input facilitates documentation - A hackathon topic

Voice input makes it possible to intuitively record food eaten and drunk without having to look at a device or tap. Instead of laboriously entering everything by hand, users can simply record their meals and snacks by voice command. This approach can lower the inhibition threshold and encourage users to continuously document their eating habits. This saves time and encourages regular documentation.

7 Schritte zur Migration von Xamarin.Forms zu .NET MAUI
7 Schritte zur Migration von Xamarin.Forms zu .NET MAUI

Mit dem nahenden Ende des Supports für Xamarin im Mai 2024 sind Entwickler damit beschäftigt, bestehende Xamarin.Forms-Projekte auf .NET MAUI als Nachfolger zu migrieren. Das tun wir natürlich auch. In diesem Artikel zeige ich 7 Schritte, die wir während des Übergangs immer machen mussten, um Ihnen den Umstieg auf .NET MAUI zu erleichtern.

3 alternatives to Xamarin.UITest
3 alternatives to Xamarin.UITest

UI testing is an essential part of mobile app development to ensure that the app delivers the best possible user experience and meets the needs and expectations of its users. But how do we do that in .NET MAUI when Xamarin.UITest is not fully compatible anymore? Let's look at 3 alternatives to Xamarin.UITest.