12+ Years of App Development
Everything from a single source
50+ Successful App Projects

Blog

iOS 7 Compliant Apps

2013 ended with a big bang. Alongside the usual New Year's fireworks, many others and I received an email from Cupertino that meant quite a bit of work for January. Apple's announcement that only iOS 7 compliant apps would be accepted in the App Store from February 1, 2014 was surprising not because of the announcement itself, but because of the short timeframe.

I used the past week, and Thursday in particular, to look into the topic more closely and get a better feeling for the effort involved in general. It remains clear, however, that it depends heavily on the app itself.

First stop: the Transition Guide

You could read many personal opinions about the specifics of the iOS 7 design language early on, ranging from good to bad. What they likely all had in common was a small culture shock. While looking for what Apple actually considers compliant, I came across Apple's iOS 7 Transition Guide, which addresses the most important points. You can find the document here.

The section "Scoping the Project" reassured me, because I have generally developed more data-driven apps for my customers, and because the requirement list under "Things Every App Must Do" is particularly short.

New icons are not enough

Two out of the three tasks that every app must fulfill are graphical in nature and require updated graphics for the icon and launch screen.

My next step was to compile the app with the iOS 7 SDK. It quickly became obvious that simply updating the icons was not enough. The following image shows that the navigation bar and the status bar overlap the list entries. In addition, the navigation bar is no longer black as it was on the left under iOS 6.

Comparison of iOS 6 and iOS 7 navigation

The reason for this is that iOS 7 wants to give content more room. As a result, the app now receives the full available screen dimensions, and the navigation and status bar are displayed above the content.

Possible solutions

Assuming that I am not using Xcode to build my layout, there are, in my opinion, two possible solutions. The first means adjusting the position values of all controls. That can quickly become more time-consuming.

I prefer the second option. With iOS 7, developers gained the EdgesForExtendedLayout property. It can be used to determine how the app should provide its layout. This already fixes the more obvious display issues. After that, only individual controls, especially near the bottom of the screen, may still need to be repositioned. The following code helps:

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

By checking for iOS 7, you avoid crashes on older devices. To make the navigation bar black again, NavigationController.NavigationBar.BarStyle = UIBarStyle.Black; does the trick.

Corrected navigation

Conclusion

For my part, I no longer consider the effort required to adapt an existing app to the iOS 7 design to be all that high. Of course, I am aware that an app with heavier custom design work will require more effort, even though the possible solutions remain similar. Xamarin apparently came to the same conclusion that Thursday and published an article on the topic. Because of the time difference, however, it reached me too late.

Sebastian Seidel

Sebastian Seidel

As a mobile enthusiast and managing director of Cayas Software GmbH, it is very important to me to support my team and our customers in discovering new potential and growing together. Here I mainly write about the development of Android and iOS apps with Xamarin and .NET MAUI.

Related Articles

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 steps to migrate from Xamarin.Forms to .NET MAUI
7 steps to migrate from Xamarin.Forms to .NET MAUI

With the end of support for Xamarin approaching in May 2024, developers are busy migrating existing Xamarin.Forms projects to .NET MAUI as its successor. So are we, of course. In this article, I'll show 7 steps we've always had to take during the transition to make your upgrade .NET MAUI easier.

Top 3 alternatives to Xamarin.UITest for .NET MAUI
Top 3 alternatives to Xamarin.UITest for .NET MAUI

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.