With iOS 12 Apple has started adopting
NSSecureCoding across the entire platform. For Core Data this means that the default
ValueTransformer, which uses
NSCoding to transform a custom data type into a format that can be stored in the persistent store, at some point will change as well.
When your app is in the background iOS will terminate your app when it needs to reclaim resources to free up memory. In case your app supports multiple scenes the system can also decide to disconnect scenes that are in the background. In both scenarios, users will expect to be able to continue from where they left off. This is especially true for multi-window apps as a snapshot of the scene will still be visible in the app switcher.
On the Mac, it is very normal to have multiple windows of the same app open at the same time. For example, multiple text documents or multiple Xcode simulators each representing a different device. We are so used to this that we don’t even think about it we just expect it. With the introduction of iPadOS this now also became possible on the iPad. If it makes sense for your app this is definitely a feature you would want to implement.
With iOS 13 Apple introduced multiple window support. Users of your iPad app can now open up multiple windows, also called scenes, side by side which allows for many new powerful workflows. As before iOS 13 we were used to having a one to one mapping between our application and our UI, adding support for multiple windows requires us to think differently about our app and its structure. Suddenly those assumptions you made based on having only one window don’t hold up anymore. This blog post will take you to the first step of adding support for multiple windows to your app, which is adopting the new
A split view controller manages the presentation of two child view controllers in a two-column layout also called a master-detail interface.
The view controller displayed in the left column is called the primary (master) view controller and the view controller on the right side is called the secondary (detail) view controller. Actions by the user in the master view controller change what is displayed in the detail view controller.