I'm subscribed to an RSS feed for WebKit commits. (I cannot emphasize enough the utility of RSS.) My primary interest is WebKit changes related to Safari extensions, but this unrelated commit caught my eye: Fix deprecation warnings due to new SDK. You know how big companies bury bad news by announcing it on a Friday evening before a holiday weekend? Anyway, the commit doesn't specify which new SDK, but the diff clearly shows the affected API, all of which are declared by the UIApplicationDelegate protocol in the <UIKit/UIApplication> header file, and none of which are deprecated in the latest public iOS 18.4 SDK included with Xcode 16.3:
-(BOOL) application: (UIApplication *)app openURL: (NSURL *)url options: (NSDictionary *)options
-(void) applicationWillResignActive: (UIApplication *)app
-(void) applicationDidEnterBackground: (UIApplication *)app
-(void) applicationWillEnterForeground: (UIApplication *)app
-(void) applicationDidBecomeActive: (UIApplication *)app
-(void) applicationWillTerminate: (UIApplication *)app
I have to assume, therefore, that the "new SDK" refers to iOS 19, presumably forthcoming at WWDC in June, and Apple engineers are already compiling WebKit with the iOS 19 SDK, hence the deprecation warnings.
According to the Apple developer document Managing your app’s life cycle:
When your app’s state changes, UIKit notifies you by calling methods of the appropriate delegate object:
In iOS 13 and later, use
UISceneobjects to respond to life-cycle events.Delegate In iOS 12 and earlier, use the
UIApplicationobject to respond to life-cycle events.Delegate
It appears that the above documented recommendation will be passed along to the compiler in the iOS 19 SDK. Of course, deprecation of an API is not the same as removal of an API. Who knows when removal would occur, if ever. After all, these UIApplicationDelegate API were essential and ubiquitous. Removing the API from iOS would assuredly break many extant apps (including my own). In any case, this blog post is a head(er)s up.