After iOS 16.1 Widgets + Extensions get the local form device language not from the app

Before iOS 16.1 my app was woking good, if the user set the app language to other language than his device language, my app, widget + extensions all use this language...

After iOS 16.1 if user set the app language to other language than his device language, my app works with this language but the widget + extensions works with the device language, not my app language...

For Example:

    @Environment(\.locale.languageCode) private var userLocal

before iOS 16.1 userLocal would be the app local, after iOS 16.1 it return the device local

Any idea why Apple did that? is this a bug? How to set the widget language to match my app language now? even set .environment(\.locale, dose not work when use Strings(table: because it's still get the bundle that match device language.

I'm having the same issue, I submitted a ticket but no response yet: FB11737627. Any updates?

This issue has resurfaced in iOS 17, despite Apple having resolved it in later releases of iOS 16.

@basememara can you please submit a feedback.

This most likely is a regression in iOS 17. I suggest that folks file a new feedback report for the WidgetKit team to investigate.

After iOS 16.1 Widgets + Extensions get the local form device language not from the app
 
 
Q