01 When I Switched the App Store but Was Still Shut Out
A few days ago, I received an invite to beta-test an app. I was pretty excited.
I opened the TestFlight link they shared in the group, downloaded it, registered an account... and then stared at the screen: I couldn’t find any other users, and the whole app was empty.
I asked the person coordinating with me. They said the app was currently open only to testing in the China region. Oh, right—my phone used a US-region Apple ID.
Easy, I thought. I’d switch back to China and download it again. So I deleted the app, switched the App Store to China in Settings, changed networks, and downloaded it again. I logged into the account I had registered earlier and opened it full of anticipation... still no other registered users.
Then I wondered whether it was because of TestFlight, since I had downloaded it from the US region.
Okay, this time I uninstalled both the app and TestFlight—and got exactly the same result. I also noticed that every version downloaded in those attempts was the international version.
I didn’t understand. I had already switched the App Store back to China, so why was it still downloading the international version?
02 I Remembered Canva
This brought back a memory from a long time ago. Was it 2021 or 2022? Back then, Canva had a very interesting feature.
If a user downloaded Canva from the App Store and then went to Canva in the phone’s Settings, there was an option to switch between the Global and China versions. Yes, the same app could switch the server it connected to directly from the system settings.
At the time, I thought, Wow, what a delightful design choice. It met the needs of users in different regions without requiring two separate apps to be listed.
But later, the feature disappeared. I’m not sure when. Maybe in 2023? Maybe earlier. In any case, when I check Canva’s settings now, the option is gone.
I thought I had remembered it wrong. Then, after running into the problem with this beta-test app, I suddenly realized—maybe I hadn’t. Maybe the disappearance of Canva’s feature was connected to what I was experiencing now: switching App Store regions and still downloading the same app version.
03 How Does TestFlight Actually Work?
I contacted the development team about the problem I had run into. Their reply made me feel that they weren’t entirely sure why it was happening either. Fair enough—maybe this was their first app, and the beta test had only just begun.
So I decided to look for the answer myself. After reading some material, I found that TestFlight and App Store distribution work in completely different ways.
- App Store (official version): it has different Storefronts. Switching the App Store setting is like visiting a different country’s store. For example, Xingtu downloaded from the China region is one version, while the version downloaded from the US region is another.
- TestFlight (beta version): it doesn’t have different Storefronts in the way the App Store does. Developers can choose to restrict which regions’ Apple IDs can download the beta, but not every developer sets that restriction—if they don’t, any Apple ID in the world can download it.
The app I encountered clearly had no download restriction. So when I switched the App Store setting:
- It helped with the official app (Xingtu could switch between regional versions).
- It did nothing for TestFlight (TestFlight doesn’t distribute through Storefronts at all).
This is why I switched App Store regions, downloaded again, and still got the same version. TestFlight only has one version to begin with, distributed globally.
So how does it actually work?
If I could download it successfully, why couldn’t I use it? The answer is: the restriction came not from TestFlight, but from inside the app.
When the app launches, the developer checks where the user’s Apple ID is registered and then connects to a different backend server. The following code illustrates it:
JavaScript
const AppleID_region = getUserAppleIDRegion()
if (AppleID_region === 'CN') {
// 连接国区后端(有数据)
backend = 'api-cn.App.com'
} else {
// 连接国际后端(空数据)
backend = 'api-global.App.com'
}
That means, if the user’s Apple ID is in the China region, the app connects to the China database; otherwise, it connects to the international database—and the two databases are isolated.
My Apple ID is registered in the US, so I connect to the US backend. When the developer said they “only opened the beta test in the China region,” it probably meant that only the China backend had real user data. The US backend was either empty or just a test environment with no registered users.
That’s why, no matter how often I changed the App Store setting, the app always detected “this is a US user” and sent me to an empty database. Of course I couldn’t find anyone.
04 Canva’s “Disappeared Feature” and Regulatory Arbitrage
Looking back at Canva, I think I understand why that feature disappeared (one possible explanation).
During 2020–2022, regulation was not yet as strict as it is now. Canva could take advantage of a “gray area”: the same app could switch servers through the backend, meeting the needs of Chinese users while avoiding the cost of complete localization—regulatory arbitrage, using backend routing to let data move through a gray area.
But after 2022, the Measures for Security Assessment of Data Export began to take effect, and the China App Store’s requirements for “data localization” became increasingly strict. Canva had to choose: either split completely into two independent apps (too expensive), or remove the switching feature and force regional separation based on the user’s Apple ID region. It chose the latter.
So that “disappeared feature” really did exist. The window just closed.
05 Identity Fragmentation
This experience made me realize something. In the mobile-internet era, identity is layered. App Store settings, Apple ID registration region, device language, network IP, login method... each one is an Identity Layer.
When these layers don’t line up, all kinds of inexplicable problems can appear. What happened to me this time is only one example. But situations like this are actually pretty common.
- Someone studies abroad, downloads certain apps with a local Apple ID, and then finds that they don’t work, either entirely or in part, after returning home.
- Someone else frequently moves between China and the US for work, only to find that certain subscription services work sometimes and not at other times.
To comply, developers can only use blunt Hard-coding to divide users. And we, the users who move around, cross cultures, and have multiple identities, become casualties of UX Friction, forced to switch identities carefully between these code-separated “digital territories.”
06 Why Is Switching Apple IDs So Difficult?
Someone might ask: “Why don’t you just change your Apple ID to China?” In theory, I could. But changing the registration region of an Apple ID requires:
- Canceling all subscriptions
- Bringing the account balance down to zero
- Waiting for all pending transactions to finish
- Preparing a payment method for the new region
And switching regions affects many things:
- iCloud data may need to be migrated
- Some apps may disappear because of regional restrictions
- Cards in Wallet may stop working
My ID has subscriptions and a balance, and there are still a few cards in Wallet. I can unlink and relink bank cards, but transit cards from other countries (with balances) probably can’t be transferred. I couldn’t take that risk just to test an app (and I’m not sure what it would look like if I signed out of this ID and logged back in... 🤔).
So my exploration stopped there.
07 In Closing
The internet today has walls that keep getting higher, turning it into a collection of isolated “digital territories.”
As I mentioned in this article, I had never seen or even known that there were bloggers whose mother tongue was Uyghur—of course, that was digital separation between different ethnic groups within a region. In the previous section, I was trying to discuss digital partitioning by nation-state.
…
Never mind, this isn’t something I should worry about right now. But I still want to know: faced with this deadlock, is borrowing someone else’s phone really the only better solution?
…I was only testing an app, and ended up writing an article of more than 2,000 Chinese characters—the mechanics behind it are pretty fascinating, huh.
P.S. If I Were the PM of This App
Since I raised the problem, I’ll try to offer a solution too.
If we set aside extreme compliance restrictions (for example, mandatory identity verification) and focus only on solving the “experience black hole caused by data isolation,” I would design an Explicit Context Switch.
The current logic is too implicit—the system thinks it is being clever by deciding for me.
A better approach is to give the choice back to the user.
On the login page, if the backend detects via API that my physical IP (China) and Apple ID Region (US) don’t match, don’t silently send me to the US wasteland. Show a simple Prompt:
“Your current location appears to be China, but you’re using a US-region account. This app stores data by region. Would you like to switch to the China server for the full experience? (Note: data from different regions is not interoperable.)”
Or, simplest of all, put an unobtrusive Region Selector in the upper-right corner of the login page.
That’s Transparency reduces Friction: even if the databases have to be physically isolated, even if I have to register a new account, at least let me know Why.
Then users won’t have to act like headless flies, repeatedly guessing, uninstalling, and reinstalling, and wasting valuable time that could have been spent experiencing the product.
(In fact, games have already been doing this—for example, separate servers or regions for the same game.)