iOS 27 & UIScene support
Use existing customerio-ios APIs to keep push and deep links working when your app adopts UIScene or is built with the iOS 27 SDK.
If your app adopts UIScene, or you build it with the iOS 27 SDK and run it on iOS 27 or
later, the system now delivers URLs and universal links to your UISceneDelegate instead of your
AppDelegate. The current customerio-ios 4.7.6 release works with this lifecycle using existing
public APIs; it does not require a separate scene-specific release.
AppDelegate-only apps need no change. If your app doesn’t adopt UIScene, keep your current
integration.
When you do adopt UIScene:
- Keep
CustomerIO.initialize, APNs registration, andUNUserNotificationCenterhandling in your AppDelegate. - Configure
SDKConfigBuilder.deepLinkCallbackto route Customer.io deep-link destinations into your app. - Handle cold and warm URLs and universal links in your SceneDelegate
(
scene(_:willConnectTo:options:),scene(_:openURLContexts:),scene(_:continue:)). - If you use Live Activities, pass each opened URL through
CustomerIO.liveActivities.handleWidgetUrl(_:)once before routing.
Customer.io doesn’t add a SceneDelegate or choose which window opens a URL. Your app keeps full control of navigation. The supported scope is one simultaneous window scene.
See the iOS 27 UIScene migration guide for the full walkthrough.