如何在macOS上创建用于调试的AppleInternalVariant.plist文件
如何在macOS上创建AppleInternal变体?
AppleInternal文件夹仅在模拟器中生效,用于获取调试菜单等功能。正常情况下需要在/System/Library/CoreServices/AppleInternalVariant.plist路径下创建指定文件,但新版macOS的系统卷处于密封状态无法直接修改,以下是可行的创建技巧:
相关路径定义
Apple开源代码中对AppleInternal的路径定义如下:
#if !TARGET_OS_SIMULATOR #define INTERNAL_CONTENT_PATH "/System/Library/CoreServices/AppleInternalVariant.plist" #else #define INTERNAL_CONTENT_PATH "/AppleInternal" #endif
所需plist文件内容
需要创建的AppleInternalVariant.plist内容为:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>AppleInternal</key> <true/> </dict> </plist>
创建步骤(针对密封系统卷)
- 进入恢复模式:重启Mac,根据机型按住电源键(Apple Silicon)或
Command+R(Intel)进入恢复模式。 - 关闭系统完整性保护(SIP):在恢复模式中打开终端,执行:
执行完成后重启Mac进入正常系统。csrutil disable - 挂载系统卷为可写状态:打开终端,执行:
sudo mount -uw / - 创建目标plist文件:使用命令行编辑器创建并写入内容:
粘贴上述plist内容后,按sudo nano /System/Library/CoreServices/AppleInternalVariant.plistCtrl+O保存,回车确认,再按Ctrl+X退出编辑器。 - 恢复系统卷只读状态:执行命令重新挂载为只读:
sudo mount -ur / - 重新开启SIP:再次重启进入恢复模式,打开终端执行:
重启后即可生效。csrutil enable
注意:在数据卷创建AppleInternal文件夹无效,必须在指定的系统路径下创建plist文件。
内容的提问来源于stack exchange,提问作者Marek H
相关产品推荐
相关产品推荐

