capacitor icon indicating copy to clipboard operation
capacitor copied to clipboard

CLIENT OF UIKIT REQUIRES UPDATE: This process does not adopt UIScene lifecycle. This will become an assert in a future version.

Open nickredding opened this issue 1 year ago • 15 comments

Capacitor Version

npx cap doctor 💊 Capacitor Doctor 💊

Latest Dependencies:

@capacitor/cli: 7.2.0 @capacitor/core: 7.2.0 @capacitor/android: 7.2.0 @capacitor/ios: 7.2.0

Installed Dependencies:

@capacitor/android: not installed @capacitor/cli: 6.1.1 @capacitor/core: 6.1.1 @capacitor/ios: 6.1.1

[success] iOS looking great!

Other API Details

npm --version
10.9.0
node --version
v21.4.0

Platforms Affected

  • [x] iOS
  • [ ] Android
  • [ ] Web

Current Behavior

Xcode build displays message "CLIENT OF UIKIT REQUIRES UPDATE: This process does not adopt UIScene lifecycle. This will become an assert in a future version."

Expected Behavior

No such message or future exception

Project Reproduction

https://github.com/nickredding/testui.git

Additional Information

This repository is a new iOS project. Adding iOS and opening Xcode and building it shows the message.

nickredding avatar Apr 06 '25 21:04 nickredding

Having the same error. Any ideas?

WcaleNieWolny avatar Apr 19 '25 05:04 WcaleNieWolny

Did it start with 7.2.0? Or an XCode upgrade?

markemer avatar May 29 '25 13:05 markemer

I'm pretty sure it stated after the Capacitor 7.2 upgrade. Note that I rebuilt the project from scratch to get Capacitor 7.2 because the upgrade process often has issues (at least for me).

On Thu, May 29, 2025 at 6:48 AM Mark Anderson @.***> wrote:

markemer left a comment (ionic-team/capacitor#7961) https://github.com/ionic-team/capacitor/issues/7961#issuecomment-2919465521

Did it start with 7.2.0? Or an XCode upgrade?

— Reply to this email directly, view it on GitHub https://github.com/ionic-team/capacitor/issues/7961#issuecomment-2919465521, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD6BBQSPBX5PIENV5IC44YD3A4F2DAVCNFSM6AAAAAB2SD6NLCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSMJZGQ3DKNJSGE . You are receiving this because you authored the thread.Message ID: @.***>

nickredding avatar May 29 '25 15:05 nickredding

See this Apple note:

[https://developer.apple.com/documentation/technotes/tn3187-migrating-to-the-uikit-scene-based-life-cycle]

It looks like some modifications to the Capacitor framework will be required.

nickredding avatar May 31 '25 03:05 nickredding

Hello, also experiencing this warning, first noticed after upgrading to xcode 16.3, running Capacitor 7.0.0.

This is my first app, please excuse any naivety, but were a game to launch and be approved, would the live app then become unsupported until a fix is deployed? Would be unfortunate to launch a game, only to find that a few days later Apple requires a new UIKIT and players can't use your app.

trzanko avatar Jun 02 '25 15:06 trzanko

Hello, also experiencing this warning, first noticed after upgrading to xcode 16.3, running Capacitor 7.0.0.

This is my first app, please excuse any naivety, but were a game to launch and be approved, would the live app then become unsupported until a fix is deployed? Would be unfortunate to launch a game, only to find that a few days later Apple requires a new UIKIT and players can't use your app.

This would be an assert - so it would only be included at compile time. Apple is very careful not to break working code in the app store.

That said, this seems like something that needs updating.

markemer avatar Jun 04 '25 13:06 markemer

This issue has been labeled as type: bug. This label is added to issues that that have been reproduced and are being tracked in our internal issue tracker.

ionitron-bot[bot] avatar Jun 04 '25 13:06 ionitron-bot[bot]

Related issue #6662

neave avatar Jun 06 '25 15:06 neave

UIScene becomes mandatory: https://developer.apple.com/videos/play/wwdc2025/282/

benbucksch avatar Jun 16 '25 18:06 benbucksch

They state "As scenes are vital for ensuring flexibility, adopting UIScene life cycle will soon be mandatory. In the next major release following iOS 26, UIScene life cycle will be required when building with the latest SDK."

It sounds like "soon" will be iOS 27.

neave avatar Jun 16 '25 18:06 neave

From what I understood, UIScene is what desktop apps call a "window", so that maps fairly cleanly to an top-level HTML page in a Capacitor app.

There's the state saving aspect as well, but I think that was already an issue with running on iOS before?

benbucksch avatar Jun 16 '25 19:06 benbucksch

Apple describes the things to do here: https://developer.apple.com/documentation/technotes/tn3187-migrating-to-the-uikit-scene-based-life-cycle

But i could not find out what to set $(PRODUCT_MODULE_NAME).SceneDelegate to.

Maybe anyone else does?

louis123562 avatar Oct 23 '25 13:10 louis123562

I feel like this will break many apps if not investigated/fixed soon. Can you give us an update @markemer on what the plan is here?

socialmedialabs avatar Oct 25 '25 13:10 socialmedialabs