国行 iPhone 免费开启 Apple 智能 & 解锁 eSIM 地区限制:从签名到改地区,手把手喂饭

miao7 发布于 4 天前 47 次阅读


一分钱都不用花。 网上有人把「签名」包装成付费服务,收几十到上百块。其实这件事用你自己的免费 Apple ID,在自己电脑上 20 分钟就能做完!

这篇把我实际做一遍时踩过的坑全部写进去了,照着做就行。Windows 和 Mac 都能做。

这是改系统配置文件,有一定风险。第五步里一定要先导出备份,出问题可以一键恢复。效果会随 iOS 版本变化,我只在 iPhone 18 Pro Max / iOS 27.2 上实测过,其他机型和版本不保证。

零、开始前检查(2 分钟)

  1. iOS 版本要 26.0 或以上 手机打开「设置 → 通用 → 关于本机」,看「iOS 版本」。低于 26 的装不上 GestaltX。
  2. 一台电脑(Windows 或 Mac)+ 一根能传数据的线 有些线只能充电,不能传数据。插上电脑后手机弹出「要信任此电脑吗?」,就说明这根线能用。Mac 要 macOS 11 或以上(AltServer 的要求)。
  3. 一个 Apple ID 建议注册一个小号专门用来签名,不用你的主号。
  4. 让电脑显示文件扩展名 打开任意文件夹 → 顶部「查看」→「显示」→ 勾选「文件扩展名」。后面要改文件后缀,不开这个会改错。Mac:点屏幕左上角「访达」→「设置」→「高级」→ 勾选「显示所有文件扩展名」。

一、下载要用的东西(全部免费)

软件 用来干嘛 去哪下载
iTunes 提供 iPhone 驱动 apple.com 官网(不要用微软商店版)。Mac 不用装,系统自带
AltServer 用你的 Apple ID 免费签名并安装 App altstore.io,版本要 1.8.1 或以上。Mac 下载后把 AltServer.app 拖进「应用程序」
GestaltX 修改手机的地区代码 https://t.me/huamichat/354925(GPL 开源,作者 huamidev)
ldid 给 GestaltX 补上它需要的权限 GitHub 上的 ProcursusTeam/ldid → Releases → 下载 ldid_w64_x86_64.exe。Mac:M 系列芯片下 ldid_macosx_arm64,Intel 芯片下 ldid_macosx_x86_64

为什么 AltServer 必须是新版? 1.7.4 及更早的版本登录 Apple ID 时会报错:WinHttpReceiveResponse: 12002(超时)或 12152(无效响应)。官方在 1.7.5 修好了。已经装了旧版的,右键托盘图标点「Check for Updates」就能升级。

Mac 上用 1.8 有读者遇到报错 AltServer could not retrieve anisette data value "machineID",升级到 1.8.1 就好(感谢评论区补充)。Mac 上检查更新:点菜单栏的 AltServer 图标 →「Check for Updates」。

不知道自己 Mac 是什么芯片:点屏幕左上角的苹果图标 →「关于本机」,写着「Apple M…」的是 M 系列,写着「Intel」的是 Intel。

二、给 GestaltX 补上 App Group 权限(最关键的一步)

为什么要做这一步: GestaltX 的 ipa 里没有声明 App Group 权限。直接签名装上后,打开会提示:

当前签名没有可用的 App Group,请启用对应能力后重新签名。

而且 1.0.3 版本里多了一个「分享扩展」,作者要求主程序和分享扩展必须用同一个 App Group。下面把两个程序都处理一遍。

用 Mac 的直接跳到 2.6,在「终端」里粘几条命令就能做完 2.1–2.5 的全部内容。

2.1 准备一个工作文件夹

  1. 在桌面新建文件夹,命名为 gx。
  2. 把下载好的 GestaltX_1.0.3.ipa 放进去。
  3. 把 ldid_w64_x86_64.exe 也放进去,改名为 ldid.exe。

2.2 解压 ipa

  1. 把 GestaltX_1.0.3.ipa 复制一份,把复制出来的那份后缀从 .ipa 改成 .zip。弹出警告就点「是」。
  2. 右键这个 zip →「全部解压缩」→ 解压到 gx 文件夹里。
  3. 确认 gx 里面出现了一个 Payload 文件夹,里面有 GestaltX.app。

2.3 新建权限文件 ents.plist

  1. 打开 gx 文件夹,在空白处按住 Shift 再右键 →「在终端中打开」(或「在此处打开 PowerShell 窗口」)。
  2. 复制下面这一整行命令,粘贴进去,回车:

    [IO.File]::WriteAllLines("$PWD\ents.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>com.apple.security.application-groups</key>','<array>','<string>group.com.huami.gestultx</string>','</array>','</dict>','</plist>'))
    
  3. 什么都不显示就是成功了,gx 里会多出一个 ents.plist。用命令生成,不会出现编码不对、文件名多个 .txt 的问题。

2.4 用 ldid 写入权限

  1. 在同一个终端窗口里,复制下面这一整行,粘贴,回车。顺序是先处理扩展,再处理主程序:
.\ldid.exe "-Sents.plist" "Payload\GestaltX.app\PlugIns\GestaltXShare.appex\GestaltXShare"; .\ldid.exe "-Sents.plist" "Payload\GestaltX.app\GestaltX"
  1. 什么都不显示,就说明成功了。
  2. 检查两个程序都写进去了,同样是一整行:
.\ldid.exe -e "Payload\GestaltX.app\GestaltX"; .\ldid.exe -e "Payload\GestaltX.app\PlugIns\GestaltXShare.appex\GestaltXShare"

屏幕上能看到两次 group.com.huami.gestultx 就对了。

2.5 重新打包成 ipa

  1. 在 gx 里右键 Payload 文件夹本身 →「压缩为 ZIP 文件」(Win10 是「发送到 → 压缩(zipped)文件夹」)。
  2. 得到 Payload.zip,改名为 GestaltX_appgroup.ipa。

    一定要右键的是 Payload 文件夹,不要进到文件夹里面去选文件来压缩,否则打出来的包结构不对,装不上。

2.6 Mac 的做法(代替 2.1–2.5)

  1. 在桌面新建文件夹 gx,把 GestaltX_1.0.3.ipa 和下载好的 ldid(ldid_macosx_arm64 或 ldid_macosx_x86_64)放进去。
  2. 打开「终端」(启动台 → 其他 → 终端,或按 ⌘ + 空格 搜「终端」)。 下面每条命令都是一整行,复制整行粘贴进终端,回车即可。
  3. 准备 ldid 并解压 ipa。M 系列芯片照抄;Intel 芯片把命令里的 arm64 改成 x86_64:
cd ~/Desktop/gx && mv ldid_macosx_arm64 ldid && chmod +x ldid && xattr -c ldid && unzip -q GestaltX_1.0.3.ipa

这一行依次是:进到 gx 文件夹、把 ldid 改个短名字、让它可以运行、去掉 macOS 对下载文件的拦截、解压 ipa。执行完 gx 里会多出一个 Payload 文件夹。

  1. 新建权限文件(用终端写可以避开「文本编辑」默认存成富文本的坑):
printf '%s\n' '<?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>com.apple.security.application-groups</key>' '<array>' '<string>group.com.huami.gestultx</string>' '</array>' '</dict>' '</plist>' > ents.plist
  1. 写入权限,先扩展、后主程序:
./ldid -Sents.plist Payload/GestaltX.app/PlugIns/GestaltXShare.appex/GestaltXShare && ./ldid -Sents.plist Payload/GestaltX.app/GestaltX

什么都不显示就是成功了。

  1. 检查两个程序都写进去了,能看到两次 group.com.huami.gestultx 就对了:
./ldid -e Payload/GestaltX.app/GestaltX; ./ldid -e Payload/GestaltX.app/PlugIns/GestaltXShare.appex/GestaltXShare
  1. 重新打包:
zip -qr GestaltX_appgroup.ipa Payload

gx 里出现 GestaltX_appgroup.ipa 就做好了。

Mac 上不要用访达右键「压缩」来打包,它会往包里塞一个 __MACOSX 隐藏文件夹,用上面的 zip 命令最稳。

三、用 AltServer 免费签名安装

3.1 先关掉手机上的代理 VPN(大坑)

如果手机上开着 Stash、小火箭(Shadowrocket)、Quantumult 这类代理 VPN,电脑和手机之间的连接会被它拦掉。表现是:

  • AltServer 报错:There was an error connecting to the device. Make sure you have trusted this device with your computer and WiFi sync is enabled.
  • iTunes 里看不到手机图标(Mac 上是访达左边栏里看不到 iPhone)
    签名之前先在手机上把 VPN 关掉,装完再打开。 这个坑我卡了很久,换驱动、关电脑代理都没用,最后发现是手机上的 VPN。

3.2 签名安装

  1. 手机用数据线连上电脑,解锁并保持亮屏。如果手机弹出「要信任此电脑吗?」,点「信任」并输入锁屏密码。 Mac 上第一次连接时,打开「访达」,在左边栏点你的 iPhone,按提示点「信任」。
  2. 打开 AltServer,它会出现在屏幕右下角的托盘里(菱形图标)。 Mac 上图标在屏幕右上角的菜单栏里。
  3. 按住 Shift 键,左键点托盘里的 AltServer 图标 → 选「Sideload .ipa…」。 Mac 上是按住 Option 键(⌥)再点菜单栏的 AltServer 图标 → 选「Sideload .ipa…」。不按 Option 的话菜单里看不到这一项。
  4. 选第二步做好的 GestaltX_appgroup.ipa → 选你的 iPhone。
  5. 输入你的 Apple ID 和密码。开了双重认证的话,手机上会弹出验证码。
  6. 等它跑完,看到「Installation Succeeded」就装好了。

    第一次用的时候,AltServer 可能会在后台下载一些 Apple 组件,期间没有进度条,看起来像卡住了。耐心等一会儿。 Mac 上如果弹出「Install Mail Plug-in」,按提示装上就行。

四、手机上的两个设置

  1. 信任开发者 「设置 → 通用 → VPN 与设备管理」→ 点你的 Apple ID →「信任」。
  2. 打开开发者模式 「设置 → 隐私与安全性」→ 拉到最下面「开发者模式」→ 打开 → 手机重启 → 重启后点「打开」。 不开的话,GestaltX 打不开。

五、用 GestaltX 改地区代码

GestaltX 的首页已经整理好了 Siri / Apple 智能的入口,不用自己去一堆参数里翻。

  1. 打开 GestaltX,在首页点智能(三颗星星图标)的入口进去。
  2. 进去后只需要改一个地区 Region Code 就行,其他都不用动。 「销售地区」保持 CH/A,不要动。作者原话是:通常只需要改地区代码,不用改销售地区。改了销售地区,验机工具会提示与出厂信息不一致。
  3. 改完一定记得点「应用」。
  4. 按提示重启手机。

    关于外国 eSIM(仅供参考): 我的朋友改完地区后,不开 VPN、也不开虚拟定位,就直接激活了外国的 eSIM。我自己用的是 PayGo 紫卡实体卡,所以没有亲自试过,大家仅作参考。如果改完地区还是加不上,看第七节。

六、打开 Apple 智能

进设置点开 Siri AI,然后等待相关组件下载,通常需要 1 小时左右,可用时会推送系统通知。

七、国行 eSIM 机型:添加海外 eSIM

我自己用的是 PayGo 紫卡实体卡,这一节的效果没有亲自实测,仅供参考。(补充,已实测,新加坡eSIM和美国eSIM均可激活)

适用: 国行支持 eSIM 的机型(如 iPhone Air),GestaltX 1.0.3(就是按上面第二~四步装好的那个)。

7.1 解锁隐藏选项

  1. 打开 GestaltX,进入「工具 → 关于」,滑到页面最底部。
  2. 连续点「Version: 1.0.3 (11100017)」这行字 10 次。中途不要离开这个页面,否则计数会清零。
    点满后手机会震动一下,表示解锁成功。
    App 被划掉(后台关掉)以后,要重新点一遍。

7.2 启用附加选项

  1. 返回「工具 → 设备」,在预设区域滑到最底部,会出现「附加选项」。
  2. 选「启用」,确认待应用的更改后点「应用更改」→ 重启手机。
    原理: 这一步改的是系统缓存里另一个地区限制标记(green-tea),它和地区代码是分开的两套东西,所以只改地区代码管不到它。

7.3 怎么看成没成功

  • 在国内网络下添加国外 eSIM,不再提示「不适用于你所在的国家或地区」。
  • 添加 eSIM 时,选项里多出「从 Android 转移」(国行原版没有这一项)。
  • 原来最多存 2 张 eSIM 的限制也会解除。

7.4 怎么还原

再次进入「附加选项」,选「停用(恢复原值)」并应用,重启即可。

7.5 注意

  • 改动重启后还在,但升级 iOS 可能会被系统覆盖,升级后要检查一下,必要时重新操作。
  • 改系统缓存有一定风险,可能导致异常。GestaltX 第一次写入前会自动做一份「首次备份」,保险起见再手动导出一份原始 plist。

常见报错对照表

看到的提示 原因 怎么办
WinHttpReceiveResponse: 12002 / 12152 AltServer 版本太旧 升级到 1.8.1 或以上
AltServer could not retrieve anisette data value "machineID" Mac 上 AltServer 1.8 的问题 升级到 1.8.1 或以上
There was an error connecting to the device 手机上开着代理 VPN 关掉 Stash / 小火箭等,再试
iTunes 里没有手机图标(访达里没有 iPhone) 同上,或者没点「信任」 关 VPN,重新插线,点信任
ldid: Failed to parse plist ents.plist 存成了「带有 BOM 的 UTF-8」 用记事本另存为,编码选「UTF-8」
终端提示 permission denied: ./ldid,或弹窗说无法验证开发者 ldid 没加运行权限,或被 macOS 拦了 在 gx 里重新执行 chmod +x ldid 和 xattr -c ldid
GestaltX 提示「没有可用的 App Group」 第二步没做或没做对 重新做第二步,用 ldid -e 检查两个程序
GestaltX 点开就闪退或打不开 没开开发者模式,或没信任 看第四步
过了 7 天 App 打不开了 免费 Apple ID 签的 App 只能用 7 天 关掉 VPN,用 AltServer 重新 Sideload 一次

免费 Apple ID 的限制: 签出来的 App 7 天后过期;同时最多只能激活 3 个;每 7 天最多注册 10 个 App ID(GestaltX 主程序加扩展一共占 2 个)。

最后

整个过程用到的都是免费、公开的工具,签名用的也是你自己的 Apple ID。不需要付钱给任何人,也不要把你的 Apple ID 密码交给别人代签。

转给身边还在花钱的朋友。