THE DEFINITIVE GUIDE TO SMOOTH AND QUICK

Upgrade to iOS 15

Using Xcode 13

Sandeep Aggarwal
2 min readNov 21, 2021
Photo by Vanja Matijevic on Unsplash

iOS 15 has introduced minor changes related to UI which we need to handle while compiling the app using Xcode 13.

Here are some issues which I faced myself and their solutions to smoothly upgrade your app to support iOS 15 using Xcode 13

Table of Contents

  1. The navigation bar and Tab bar issues
  2. Status bar color issue
  3. The spacing issue in TableView headers
  4. UITableView footer color issue

The navigation bar and Tab bar Issues

Problem:

The navigation bar custom background color is not visible in some cases and the tab bar icons text is also getting distorted.

Explanation:

There are some changes made related to the navigation bar and tab bar property called scrollEdgeAppearance

Solution:

References:

Status Bar color Issue

Problem:

In your app, if the status bar color is different (light or dark) in each view controller and is derived from the overridden property preferredStatusBarStyle then it is not working anymore.

Explanation:

preferredStatusBarStyle is not being called for the individual view controller due to the container controllers (UINavigationController, UITabBarcontroller) not using childForStatusBarStyle to decide the status bar style.

Before iOS 15, iOS used to decide it using the StatusBarStyle property defined in info. plist in casechildForStatusBarStyle was not overridden by the container controllers.

With some changes in iOS 15, in deciding the status bar style, it is now a requirement to update the childForStatusBarStyle property in the subclass of UITabViewController.swift and UINavigationController.swift.

Solution:

Step 1: Changes related to Status Bar appearance in the subclass of UINavigationController

Step 2: Changes related to Status Bar appearance in the subclass of UITabBarController

References:

The spacing issue in TableView Headers

Problem:

There is extra padding above UITableView section headers that have started to appear in iOS 15.

Solution:

Reference: https://developer.apple.com/forums/thread/684706

UITableView footer Color Issue

Problem:

There is a footer color issue in the case of a plain styled (not grouped style) tableView.

Before iOS 15, the footer was default colored to

UIColor(red: 229/255, green: 229/255, blue: 229/255, alpha: 1)

But after compiling it with iOS 15 SDK in Xcode 13, it results in a transparent tableView footer.

Solution:

Create your footer view having the above-mentioned background color.

Other issues

Most of the issues which I faced are mentioned here.

But to make sure you are not missing anything, there is no silver bullet and you need to compare the Xcode 13 build with the production build, figure out the UI differences, and make updates to match the production build.

Tip: One must verify all the third-party libraries' functionality.

Follow me here on Medium for more such informative posts.

Cheers, thanks for reading! 😊

--

--