/XcodeLLMEligible

Primary LanguageShellMIT LicenseMIT

Ways to enjoy Xcode LLM on ChinaSKU Mac

Ways to enjoy Xcode LLM on ChinaSKU Mac without disabling SIP.

For older methods which requires SIP disabled, please see "Related links" section.

Screenshot

Notes

this project is for learning and research purposes only.

If you choose to use this project, you do so at your own risk and are responsible for compliance with any applicable laws.

The author of this project is not responsible for any consequences that may arise from your use of this project.

Usage

Note

Tested the script under macOS 15 Beta 1 ~ Beta 3

Should work on macOS 15.x release as long as Apple does not remove or change the override feature of eligibility service.

Script Execution

Install

curl -L https://raw.githubusercontent.com/Kyle-Ye/XcodeLLMEligible/main/override_xcodellm.sh | bash

Uninstall

curl -L https://raw.githubusercontent.com/Kyle-Ye/XcodeLLMEligible/main/override_xcodellm.sh | bash -s -- uninstall

Manual Execution

Method 1 (Recommended)

Need one time SIP disable during the script.

  1. Disable SIP in recovery mode with csrutil disable
  2. Add boot argument by sudo nvram boot-args="amfi_get_out_of_my_way=1" and reboot
  3. Download eligibility_util from the release page and execute ./eligibility_util forceDomainAnswer --domain-name OS_ELIGIBILITY_DOMAIN_XCODE_LLM --answer 4
  4. Enable SIP in recovery mode with csrutil enable and reboot.
  5. Remove boot argument by sudo nvram -d boot-args

Read Disabling and Enabling System Integrity Protection if you are unfamiliar with SIP operation.

You can only set boot-args in recovery mode or normal mode with SIP disabled.

After setting boot-args, remember to reboot to make the change take effect.

Method 2

No SIP disabled needed in total.

  1. Download eligibility_overrides.data file from the release page
  2. Find the correct container path for eligibilityd under ~/Library/Daemon Containers/<UUID>
  3. Move the downloaded file to eligibilityd's daemon container's Data/Library/Caches/NeverRestore/ folder. If you are not sure which one is for eligibilityd, you can try it one by one or just add the file to all of the containers.

Related links

License

MIT. See LICENSE file.