SKExternalLinkAccount not choosing the right URL for phone region

Hello!

I am working on a reader app that supports 4 languages: Danish, Finnish, Norwegian, and Sweeden. The content's language is either the phone's preferred language, if it is one of the 4, or is chosen by the user on the first app start.

As per Apple's guideline, I implemented the ExternalLinkAccount flow, and for localizing the URL I added SKExternalLinkAccount into the Info.plist file. For debug purposes, the default URL is google.com. This is how it looks:

	<dict>
		<key>dk</key>
		<string>https://historienet.dk/abonnement</string>
		<key>fi</key>
		<string>https://historianet.fi/tilaa</string>
		<key>no</key>
		<string>https://historienet.no/abonner</string>
		<key>se</key>
		<string>https://varldenshistoria.se/prenumera</string>
		<key>*</key>
		<string>https://google.com</string>
	</dict>

I have a question and a problem:

  1. The problem is that on iOS 16+, the URL opened after pressing the Continue button on the ExternalLinkAccount sheet is always the default one, regardless of the app's and phone's language and region. On what does it rely to display the localized/regional version of the URL?

For debugging it, I tried obtaining the Norway or Sweedan URL on the simulator by changing the app's language and region from the scheme, the simulator's language and region from Settings, and tested it on a real device with the region and language changed to Norway/Finland using a TesFlight build. I had no success.

  1. Can I control/influence which region is selected?

Because the user can select a language for the app content, it would be ideal to reflect it on the URL opened by the ExternalLinkAccount flow.

Post not yet marked as solved Up vote post of roxanaSt Down vote post of roxanaSt
562 views

Replies

I'm experiencing the exakt same behaviour, I can get the modal to be translated to different languages but it seems to default to the swedish URL (the country that I am situated in). Would be great to get some insight into this!

Got a reply on our support ticket that the behaviour is based on the AppStore the user is logged into: "The entry invoked in your plist is based on the device's storefront rather than on the device's language setting. For instance, if you are logged into the App Store with an Apple ID tied to the UK store, the uk entry in your plist will be invoked. "