THE DEFINITIVE GUIDE TO SMOOTH AND QUICK
Upgrade to iOS 15
Using Xcode 13
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
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:
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! 😊