JIT-Less 设置与诊断


如果您成功设置了 免JIT模式,您的 免JIT模式诊断 视图和 Entitlement文件 应该看起来像上面的屏幕截图。当它显示红色值或 测试免JIT模式 失败时,使用此指南。
应用程序组 ID / 应用程序组可访问 / 存储为红色
原因:
- LiveContainer 未使用
com.apple.security.application-groups(也称为应用组)权限进行签名。 - LiveContainer 未通过 AltStore/SideStore 或 Impactor 安装。
- LiveContainer 和 AltStore/SideStore 使用不同的开发者账户进行签名(Team ID 不匹配)。
修复:
- 确保 LiveContainer 和 AltStore/SideStore 使用相同的开发者账户进行签名。
- 通过 AltStore/SideStore 重新安装 LiveContainer 并保留必需的扩展/权利(
Use Main Profile/Keep All Extensions)。 - 在诊断 ->
Entitlement文件中,验证:get-task-allow = 是、application-groups 正确 = 是和keychain-access-groups 正确 = 是。
检测到证书数据 / 检测到证书密码 / 证书上次更新日期为红色
原因:
- 证书导入未完成。
修复:
- 在
设置中重新导入证书(文件导入或从 AltStore/SideStore 导入)。 - 刷新诊断。
证书 Team ID 为红色
原因:
- 导入的
.p12证书属于不同的开发者账户。
修复:
- 删除当前证书。
- 重新导入与当前 LiveContainer 签名账户匹配的证书。
- 如果您使用 SideStore/AltStore 来签名 LiveContainer,您需要确保已登录签名 LiveContainer 的账户
证书状态 = 吊销/未知 / 证书有效期至 = 未知 / 免测试JIT模式测试失败
原因:
- 证书已被吊销/过期。
修复:
- 重新导入有效的证书并确保密码正确。
- 重新打开 SideStore/AltStore 并刷新应用程序,然后返回并刷新诊断。
- 再次运行
免测试JIT模式测试。 - 如果仍然失败,请尝试重新安装。
- 当 SideStore 通过 AltServer 安装时,这种情况最常发生。如果此问题无法解决,请考虑按照新指南重新安装 SideStore。
Entitlement文件
您也可以通过检查 Entitlement文件 来直接检查签名问题。正确的Entitlement文件看起来像这样:
<?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>application-identifier</key>
<string>A1B2C3D4E5.com.kdt.livecontainer.A1B2C3D4E5</string> <--- 重要!
<key>com.apple.developer.team-identifier</key>
<string>A1B2C3D4E5</string>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.rileytestut.AltStore.A1B2C3D4E5</string> <--- 重要!
<string>group.com.SideStore.SideStore.A1B2C3D4E5</string> <--- 重要!
</array>
<key>get-task-allow</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>A1B2C3D4E5.com.kdt.livecontainer.shared</string>
<string>A1B2C3D4E5.com.kdt.livecontainer.shared.1</string>
<string>A1B2C3D4E5.com.kdt.livecontainer.shared.2</string>
...
<string>A1B2C3D4E5.com.kdt.livecontainer.shared.127</string> <--- 重要!
</array>
</dict>
</plist>
- 其中
A1B2C3D4E5是com.apple.developer.team-identifier的值(也称为 Team ID)。 - 如果在
com.apple.security.application-groups下存在任何项目,任何应用组相关检查应该通过。 - 如果您没有看到
get-task-allow,或者它是false,您使用的是分发证书配置文件来签名 LiveContainer,LiveContainer 将完全不能工作。 - 如果不带 Team ID 前缀的
application-identifier与 LiveContainer 的 bundle ID 不匹配,某些功能(如文件选择器修复)将无法工作。 - 如果没有 128 个
keychain-access-groups,keychain-access-groups 正确检查将失败。这在您使用旧版本 iloader 安装 LiveContainer、使用不支持的签名者或忘记在签名者中配置权限时最常见。