Bypass region lock to use iPhone Mirroring in EU

Apple has restricted iPhone Mirroring in the EU due to compliance issues with the EU’s DMA regulations. When setting up iPhone Mirroring in the EU, you’ll receive the message “iPhone Mirroring is not available in your country or region.”

I’m not sure when or if Apple intends to release these features in the EU, but there is a way to use iPhone Mirroring in European countries as follows.

Newest Method

It seems that methods for modifying system files have been patched by Apple in the recent macOS 15.1 beta updates, so I’ll share another way to use iPhone Mirroring in the EU.

Create a new Apple account with the region set to the United States. If you don’t have a credit card, you can select the UAE (United Arab Emirates) or Canada, as these countries don’t require a credit card when signing up for an Apple account.

Sign in with the Apple account you just created on the iPhone where you want to use iPhone Mirroring. There’s no need to sign in with this account on your Mac.

Make sure both your iPhone and Mac are set to English (US) and the region is set to the United States on both devices. To change the language, follow these steps:

  • iPhone: Go to Settings → General → Language & Region → Tap Add Language… and add English (US), then move it to the top to set it as the default language. Then tap Region and choose United States.
  • Mac: Go to System Settings → General → Language & Region → Click the “+” button and add English (US) as the default macOS language. Then, in the Region section, select Americas → United States.

This method has been successfully tested by a forum member.

Old Method

Disable SIP (System Integrity Protection)

First, you need to disable macOS SIP, which will allow you to modify certain files and keep those changes even after restarting your Mac. Without disabling it, some files might revert to their original state after a reboot.

Apple provides a guide to disable SIP that you can follow here: Disabling and Enabling System Integrity Protection | Apple Developer Documentation

Running a Few Commands

  1. Open Terminal on your Mac and run the following command:
git clone https://github.com/timi2506/iphone-mirroring-eu-activate.git

  1. Change the directory in Terminal to iphone-mirroring-eu-activate
cd iphone-mirroring-eu-activate
  1. Install the required dependencies using pip:
pip3 install -r requirements.txt

If you encounter an error like this:

Run the following command:

pip3 install -r requirements.txt --break-system-packages
  1. Grant executable permissions to the files in the iphone-mirroring-eu-activate folder:
chmod +x ./*
  1. Run this command to execute the code:
./run-macOS.command
  1. Follow the instructions in the Terminal window. This means replacing the /private/var/db/os_eligibility/eligibility.plist file with the eligibility.plist from the xezrunner folder. Terminal will automatically open both folders when you press any key.

  1. Connect your iPhone to your Mac via USB.
  2. Enter your Mac’s password and restart it.
  3. After your Mac has restarted, open iPhone Mirroring from the Mac’s Dock and begin the setup process.

If you have more than one iPhone, you can select which iPhone you want to use on your Mac by going to System Settings → Desktop & Dock → iPhone.

If you have any questions about enabling iPhone Mirroring in the EU, feel free to comment below.

Source: timi2506

The previously posted method

Make sure your iPhone is updated to iOS 18 beta 2 and your Mac is updated to macOS 15 Sequoia beta 2 or later.

On your Mac, open Finder and navigate to the following path (you can use Shift + Cmd + G):
/private/var/db/os_elibility/elibigibility.plist

Edit values in OS_ELIGIBILITY_DOMAIN_IRON as shown in image below, then save the changes.

If you cannot edit elibigibility.plist file, disable SIP and try again.
Disabling and Enabling System Integrity Protection | Apple Developer Documentation

Important: On your iPhone, change your Apple ID account region to the United States in the App Store app, or sign in with a U.S. App Store account in Settings - [your name] - Media & Purchases.

https://x.com/pixelhir/status/1805317594699768082

2 Likes

Has anyone in Europe tried it yet? :eyes:

Yes, and it works great!

1 Like

Unfortunately, this method didn’t work for me. I’ve disabled csrutil and granted myself full permissions, which allowed me to save the file. However, after rebooting, the file reverted to its default values. I tested this using VSCode—closing and reopening the file showed that the changes were saved initially, but they disappeared after a reboot.

If you don’t reboot, can you open the iPhone Mirroring app and set it up?

1 Like

No. But I did find this about the elibigibility.plist file:

Seems the OS sets the values on restart based on location data such as wifi or country of your account.

1 Like

It does not set the values on restart.
It creates the file again. I revoked Write permissions to the file by the System and gave my user permission to write.
Look at info of the file. It is created at the time you restart.
IDK how to approach this.

Went a bit deeper and opened the app with Hex Friend (‎Hex Fiend im Mac App Store) and it seems that the iPhone Mirroring app checks the eligibility.plist file at line 133348 (forward). Perhaps someone who knows the Apple/Arm instruction set a bit better can create a workaround.

Didn’t work, I do not have permission to remove the system permission of the file.

No need to try, didn’t work, it creates the file on boot.
I’m just giving a progress report.

Got it to work🎉
You need to set the parent folder restrictions to read-only and only give yourself read and write permissions.

2 Likes

Worked for me. I am able to run the app but now it says its unable to cennect to the iPhone because of the region restrictions. Is there a way to bypass this? I have family sharing on and everything tied to icloud and can’t change the region of my iCloud.

On iOS it seems to be a bit harder. Someone tried it in the past the other way around in order to enable side loading.

1 Like

By the way, if you create a duplicate of the .plist file somewhere else, edit it there and move it back to the original folder to replace the old one, you don’t need to disable csrutil at all. It will simply ask for your permission to do so. This way you don’t have to reboot. And remember, if you do reboot, the original file will be recreated as mentioned above, and you will have to change it again.

2 Likes

It’s a shame that we have to look for tricks to be able to make use of options that restrict us, my position is to leave it as it is since if we “mess around” in system files, the only thing we can do is annoy something that is working well, at least if you want to do it in main devices since they are those of day to day, if you have other secondary equipment, forward there is always an option to return to the beginning no matter what we may lose. Well, it’s just a particular opinion. Happy Wednesday!!! :sunglasses: :sunglasses:

1 Like

I’m going to start crying :smiling_face_with_tear: :cry: :sob: :sob: :sob:

I remember that around 2012, there were tools like macFuse and iFuse that allowed users to mount the iOS file system on a Mac to access files. However, I’d advise caution with these tools. Official support for them ended some time ago, although being open source, some developers have continued their development. Nonetheless, I’m uncertain about their reliability and trustworthiness. Additionally, tampering with your iPhone’s system files can potentially damage the operating system. As I don’t have a secondary device to experiment with, I am hesitant to try them out at this time.

1 Like

But if anyone has a second device and wants to try this out, let us know :slight_smile:

I spent too much time trying to unlock this feature for now. But finding a solution to this could also enable Apple Intelligence features in the EU in the future, as the Greymatter (Apple Intelligence) restrictions seem to be regulated by the same authorisation file.

1 Like

That’s great to hear.
But I’m afraid Apple will fix it, just like they did with the new Siri :sweat:

1 Like

It works, I don`t have the beta on the iPhone, but I do have it on the Mac, and with your explanation the screen mirroring app does launch

1 Like