UIKit in iOS 27
iOS & iPadOS 27 Beta Release Notes:
[You] can use
UIScene.extendStateRestorationandUIScene.completeStateRestorationto extend state restoration forUIScene.ActivationState.backgroundtoUIScene.ActivationState.foregroundlifecycle transitions.[…]
iOS and iPadOS apps built with the 27.0 SDK or later are required to include a launch screen.
[…]
Siri can load resources from drag interactions installed in your app’s interface.
[…]
In apps built with the iOS 27.0 SDK, a presented view controller inherits its trait collection by walking up its view’s superview chain through the intermediate views of the presentation, rather than jumping directly to the presentation controller.
Use
UICollectionViewCompositionalLayoutSectionProviderclosures as part of automatic observation tracking to automatically invalidate and update compositional layouts when observable objects change.[…]
Use
UIRefreshControlandUIStepperin Mac apps built with Mac Catalyst. These controls are now fully supported in the Mac idiom.[…]
Starting in iOS 27, apps built with the latest SDK must use the scene-based life cycle or they fail to launch.
[…]
Use
NSTextTable,NSTextBlock, andNSTextTableBlockto represent table structures in attributed strings.
Discover the latest updates to UIKit. Learn how to update your iPhone app layouts to work great when resized with iPhone Mirroring and on iPad. Explore new APIs for tab and navigation bars, find out how to prepare your app for new Apple Intelligence capabilities, and get introduced to a skill for your coding agent of choice that helps modernize your codebase.
iOS 27's UIKit is a tiny release in terms of API changes, but does have some changes. There are no new top-level paradigms, but there’s an new addition to TextKit 2, a new scene accessory API, Liquid-Glass-era bar minimization controls, and a small amount of quality-of-life additions to menus, tab bars, and drag interactions.
Apple appears to be laying the groundwork for a foldable iPhone in iOS 27, with new references discovered in the operating system’s frameworks and a notable emphasis on flexible app layouts at this year’s Platforms State of the Union.
The nav bar and its friends got quite a bit of attention, and to be honest that’s where we will find most of the changes. They adapt to all sorts of sizes and situations…hmmm, I WONDER WHY!?
[…]
A few years ago, I wondered if UIKit would be deprecated altogether. That would’ve been drastic, sure, but I did wonder. These days, I don’t share the same concern anymore. SwiftUI gets better each year, and yeah — it’ll have top billing. But UIKit is solid, and it appears to be a core part of Apple’s strategy into the future.
Not much changed this year, and not much was added that’s flashy. But, that’s true of iOS 27 in several ways.
Previously:
2 Comments RSS · Twitter · Mastodon
> "...iOS and iPadOS apps built with the 27.0 SDK or later are required to include a launch screen..."
> "...Starting in iOS 27, apps built with the latest SDK must use the scene-based life cycle or they fail to launch..."
Are either of these actually new, or just Apple being more explicitly harsh about things that changed in the last few years?
I seem to recall getting warnings (not errors) about adopting the scene-based life cycle in possibly Xcode 14 on projects that my AppDelegates had new lifecycle methods missing. And maybe it's me, along with loading CoreImage resources upfront, that had me loading in a launch screen since 2016. (Rarely needed but it gives me comfort.)
I'm just hoping they never add to the years-depreciated GLKit that it "fails to launch (I'm very sure there are a few very profitable apps/games that would do this because of how prevalent OpenGL is.)
If they just supported the compositional layouts in Interface Builder and trained an LLM how to write an xib…that would be the end of SwiftUI. They know it. They already got the sauce. Just put it on the fucking burger so we can all eat good stop feeding us this SwiftUI shit it’s ridiculous