In the beta version of iOS 17.4, Apple has added a recognizable area in iOS Settings and About. This area cannot be modified by users. Instead, Apple uses various judgment conditions to determine where the user is. Currently known judgment parameters include the Apple ID billing address, the area set by the user, fuzzy positioning and identifying whether the device is the National Bank version, etc., but obviously all the parameters must be more than these. Apple will most likely read the SIM card information and detect the user's actual location through WiFi.
After digging into the code, developer @Sou1gh0st discovered that Apple had also learned what Microsoft did. Microsoft used the element order of the periodic table as the Windows version development codename.
Apple now also uses chemical elements, but not in order. Instead, chemical elements are used as variable names to form a series of judgment conditions, which are ultimately used to judge the area where the user is.
This engine used to determine the user's region is called EligibilityEngine (eligibility engine). This engine is used to calculate IDENTIFIABLE_REGION (identifiable region) to determine whether this iPhone is eligible for sideloading and running JIT.
The picture below shows some of the judgment conditions. You can see that Apple uses: sulfur, phosphorus, chlorine, and nitrogen. Of course, these are only the codes used for some of the judgment conditions, not all. It is not yet clear what each judgment condition represents.
Another key point is to judge once a day:
Another piece of code shows that EligibilityEngine will only be calculated once a day. Why is this important? Because some users found no effect when testing the modification of the identifiable area, this does not mean that it really does not work, it may just be that the judgment result has not been updated.
There is currently no clear way to modify the iPhone to the EU and support sideloading, but if there is a way later, remember to complete the modification at once and wait for the next day.
Otherwise, if you try to change some parameters the next day, you will have to wait until the third day. If it doesn't work on the third day, you will have to wait until the fourth day.