iOS 13 Checklist cho Developer

Tram Ho

iOS 13

iOS 13 has finally been released. I am sure you are interested in this update and its impact on application development of developers. First, let’s glance at the checklist for iOS 13:

  • SwiftUI has released with iOS 13. Help build UI for users in a whole new way, a framework designed by Apple to help developers build better applications with less code.
  • Combine is Reactive Programming Framework.
  • RealityKit framework is used to simulate and display 3D content easily. Build better AR apps!
  • Project Catalyst . You can easily move iOS apps to macOS. In addition to the great frameworks above, let’s dive into other important updates

View Controller Default Presentation Style

With iOS 13, Apple changed the View Controllers default presentation style to a modal sheet style from full screen in iOS 12. A modal sheet is a tabbed interface type that can be removed by scrolling down.

If you want full-screen view controllers

Starting with iOS 13, you’ll need to explicitly specify the presentation type if you want to display it full screen like the code below:

To dismiss the pull-down event to dismiss, edit the code as follows:

You can even control more swipes to remove the above by using the functions added in the IAdaptivePresentationControllerDelegate protocol:

  • presentationControllerDidAttemptToDismiss
  • presentationControllerWillDismiss
  • presentationControllerDidDismiss
  • presentationControllerShouldDismiss

NavigationBar Large Title Style

Starting with iOS 13, UINavestionBar has a large title style that is no longer translucent. We have to change the translucent by:

UINavigationBarAppearance is a new class to customize the interface. UINavigationBar will include three types:

  • standardAppearance
  • compactAppearance
  • scrollEdgeAppearance for navigation bar with large title.

New UISegmentedControl

The new UISegmentedControl has 3D effects. But more importantly, the tintColor property no longer works in iOS 13. Instead, we need to use the SelectedTintColor to change the background color of the selected segments.

SF Symbols

Starting with iOS 13, UIImage has got a new launcher , systemName . You can transfer system names as strings by looking up the SF Symbols Mac application, which contains more than 1000 system icons. You can download it here .

SceneDelegate for Multi-Window

iPadOS brings multi-window support in the same application. Now when you create a new XCode, you will see a SceneDelegate file. This is for managing individual scenes (windows). Therefore, AppDelegate’s UI-related responsibilities are currently assumed by SceneDelegate.

New Context Menus

Context Menus is an alternative to Peek and Pop that works only on 3D Touch-only devices. The menu appears directly above or below the preview:

To create a context menu on the collection / table, there is a new function added to the delegate that you need to override. For collection view it is:

We can define our own UIMenu and assign actions to them. To open the view controller from the preview, we need to add a method:

Dark Mode and Dynamic Colors

We can customize the user interface to dark mode in iOS 13 by using the userInterfaceStyle property, part of traitCollection . Colors are available and they can be used for dark or light mode. We can even specify our own set of colors or animations for lightAppurdy and darkAppurdy .

To set the mode, we need to set UIUserInterfaceStyle to Light / Dark in the info.plist file.

Sign in with Apple

Starting with iOS 13, we can integrate the Sign in button with Apple in our apps. It is a safe and easy way to log in and only requires usernames and email addresses. Moreover, users can choose to hide their email address in the application. To add the Apple Sign in button in your app, simply enter Service Authentication and add the following code to your ViewContoder:

Vision API Gets a Core ML Boost

The Vision API is enhanced by including the Document Camera View Controller . Character recognition is now much easier thanks to an improved machine learning model. Moreover, the Vision API now has a Pet Animal Classifier . That’s right, you don’t need a Core ML model to detect a cat or a dog! Just using VNRecognizeAnimalRequest which is part of VNImageRequest is enough.

Core ML 3 On Device Personalization

On Device Training Of Models is a major development in this year’s Core ML. You can now train the ML Model on your own device.

That is a summary of most important points of iOS 13. Hope this article will be useful to you.


Anupam Chugh. 2019. iOS 13 Checklist for Developers – Better Programming – Medium. [ONLINE] Available at: . [Accessed 21 October 2019].

Share the news now

Source : Viblo