How to use the Info.plist file in UIKit

Photo by Rima Kruciene on Unsplash

Original post

UIKit is a framework for creating iOS and tvOS apps user interfaces. It is very important to know UIKit right now because SwiftUI (the new way in interface creating) is still young and only supports iOS 13 version and higher. So the next 2 to 4 years, UIKit will be must-know technology in native iOS development. It is cool if you want to learn SwiftUI, but if you are starting your native iOS developer way, then you need to know UIKit and Autolayout anyway. You can just look up on Objective-C and it is still in vacancies although Swift exists from 2014.

UIKit provides view architecture for our interfaces, the event handling, manage user interactions among the user and the system, animation support, document support, drawing, printing support, info about the current device, text management, search support, accessibility support, app extension support, and resource management.

In this part, we will gonna talk about Info.plist file and UIKit app requirements. It seems useless, but it is very important just to know what your app needs and how to provide info about some specific abilities of your app.

  1. Each UIKit project must have App icons and Launch Screen storyboard. App icons are icons for Home screen, Settings, App Store preview, etc. Launch Screen is an initial user interface. It will show to users while your app is loading. Interesting moment — you can’t animate your Launch Screen — it is just a static user interface. If you want to animate your Launch screen you can easily create the First screen identical to Launch screen and animate and this First Screen. The First screen must be a root controller in your app, and when the application will be loaded, then the Launch screen will be replaced by the First root controller, and then you can run your animation.

More About Info.plist

Official documentation reference here

Info.plist — is a property list file that contains essential configuration information for an application. It is an XML file with the dictionary in the root node of the file. The system uses these keys and values to obtain information about your app and how it is configured. The name of this file is reserved by the system and the name is case sensitive and must have an initial capital letter I. You have 2 ways to editing Info.plist file ( in Xcode interface and like a default XML file in any text editor).

  • All Custom Keys in Info.plist would be ignored

How to find a new Info.plist file place?

In a huge project, you will have a difficult structure of folders and sometimes you will need to move Info.plist file to another folder. Like on the image below:

So, Info.plist file moved to the Configuration folder and you got this issue — Build input file cannot be found: ‘/path/Info.plist’.

We need to find Build Settings -> Packaging -> Info.plist value.

And we need to write the full path to our Info.plist file. In this project — this is TestApp/Configuration/Info.plist.

Why do we need Info.plist file?

  1. It contains an app display name (with InfoPlist.strings file you can provide a multilanguage name for your app).

-Custom fonts used in an app.

-Info about a Home Screen Widget.

-Info about Background modes (audio, voip, remote-notifications, external-accessory, bluetooth-central, bluetooth-peripheral).

-Info about IPad support and app orientation (Portrait, PortraitUpsideDown, LandscapeLeft, LandscapeRight).

-Info about visibility status bar

-Info about storyboards (Launch and Main)

-Required device capabilities(accelerometer, arkit, auto-focus-camera, gamekit, gyroscope, healthkit, location-services, magnetometer, microphone)

So, if your app needs some of the abilities like above — you need to add this requirement to your Info.plist

iOS Software Developer