TrollStore ldid 下载失败彻底解决安装 IPA 卡住的完整排查步骤【免费下载链接】TrollStoreJailed iOS app that can install IPAs permanently with arbitary entitlements and root helpers because it trolls Apple项目地址: https://gitcode.com/GitHub_Trending/tr/TrollStoreTrollStore 安装 IPA 卡在 Downloading 或弹出 Error downloading ldid问题多半不在你的 IPA而是 ldid 自动下载这一步失败。手动补齐两个文件即可彻底绕开这条下载链路。你大概率也会遇到这个报错打开 TrollStore顶部一直转着 Installing ldid几分钟后弹出Error窗口内容类似Error downloading ldid: The Internet connection appears to be offline.点 Close 关掉过一阵又冒出来。也有更安静的一种界面毫无动静但 Settings 里始终显示 Install ldid 按钮装未签名 IPA 时直接报The app is not signed with a fake CoreTrust certificate and ldid is not installed。说白了就是 ldid 下载失败而 TrollStore 对这次失败既不重试、也不换源。它到底在干什么30 秒原理速览装未签名 IPA 必须用 ldid 做 ad-hoc 重签名。ldid 因授权问题不能直接打包进 TrollStore所以每次启动它都会检查自己目录下是否已有 ldid没有就联网拉取。// TSSceneDelegate.m (L140-143)两个文件任一缺失就触发联网下载 if(![NSFileManager ... fileExistsAtPath:ldidPath] || !...fileExistsAtPath:ldidVersionPath]) { [TSInstallationController installLdid]; }整个流程要成功必须走通 GitHub 上的两个网络请求先查最新版本号再下载二进制。任何一环断掉ldid 就装不上。顺着线索找到病根排查路径按顺序看3.1 表象 → TrollStore/TSSceneDelegate.mhandleLdidCheckL131-146在场景连接时L165 被调用检查 ldid 文件缺失即触发下载。看到它就知道弹窗之所以反复出现是因为文件从未落盘成功。3.2 下载环节 → TrollStore/TSInstallationController.minstallLdidL216-258里下载失败的处理L230-234if(error) { UIAlertController* errorAlert ... Error downloading ldid: ... ...]; UIAlertAction* closeAction [UIAlertAction actionWithTitle:Close ... handler:nil]; [errorAlert addAction:closeAction]; // 只有关闭没有重试 }失败只给你一个 Close没有 retry。3.3 更隐蔽的一环 → Shared/TSUtil.mfetchLatestLdidVersionL333-336经github_fetchLatestVersionL303-326请求 release API 取版本号。注意出错时回调直接收到nil而installLdid里if(!latestVersion) return;L220就静默退出了——连弹窗都没有。3.4 快速二分在设备浏览器里测试api.github.com和github.com两个地址是否可达判断是纯网络问题还是文件缺失后的重复触发再决定走哪条修复路径。动手改最小侵入方案思路不碰 TrollStore 本身手动把启动检查要的两个文件补齐让检查直接通过、不再联网。需要放进 TrollStore.app 根目录的只有两个文件ldid二进制权限 0755和ldid.version纯文本内容只有一个版本号。4.1 先备好正确版本的 ldid 文件在有网电脑上找到 ldid 作者仓库的 release 页以实际仓库为准下载与 TrollStore 当前版本配套的 ldid 二进制新版 TrollStore 对应 ldid 2.x具体 tag 以 TrollStore 说明为准以实际仓库为准。为什么强调版本配套RootHelper/main.m 的runLdidL296 起直接 exec 这个文件版本和 TrollStore 不匹配会在签名阶段出别的问题。4.2 放进 TrollStore.app 根目录在 RootHelper/main.m 的installLdidL262-281可以看到正常下载成功后文件就落在 TrollStore.app 根目录。用 TrollStore 自己写入的两个文件名字严格是ldid和ldid.version。在 iPhone 上打开 Filza 等文件管理器进入 TrollStore 容器注意是TrollStoreLite那个目录不是主 App 的容器把 ldid 二进制拷入。用文本编辑器新建ldid.version内容就是版本号与下载的文件对应比如2.0.2保存进同一目录。改这两处文件TrollStore 启动检查3.1 那个 if就成立了下载链路整体跳过。备选设备上如果没有文件管理器。在电脑上把 ldid 和 ldid.version 放在同一个目录起个临时 HTTP 服务# 电脑上执行当前目录放好 ldid 和 ldid.version python3 -m http.server 8000然后在 TrollStore 的 Apps 页点右上角 → Install from URL分别输入http://电脑IP:8000/ldid和http://电脑IP:8000/ldid.version两个文件都会落到 TrollStore 的 Documents 目录再按 4.2 用文件管理器挪进 TrollStore.app 根目录。4.3 权限确认拷完后用文件管理器确认 ldid 是 0755、ldid.version 是 0644。权限不对时posix_spawn起不来症状会变成签名阶段的报错容易误判。改完了跑一遍确认打开 Settings 页Signing 组显示ldid: Installed (版本号)而不是 Install ldid 按钮——版本号应与 4.1 下载的一致。完全退出再打开 TrollStore不再弹出 Error downloading ldid也不再出现常驻的 Installing ldid 进度圈。用 TrollStore 装一个未签名 IPA过程不出现 173 错误ldid is not installed安装完成后 App 可正常启动。回滚方法删掉 TrollStore.app 根目录里这两个文件即可下次启动会自动走原下载流程。下次别再踩加固清单加固项做法涉及文件本地备份 ldid在设备根目录存一份 ldid 与 ldid.version网络故障时直接拷回RootHelper/main.m升级前先测网用浏览器确认 GitHub API 与 release 下载点可达再升级 TrollStoreShared/TSUtil.m装完 IPA 后回看版本Settings 里 ldid 版本号应与 TrollStore 当前版本配套TrollStore/TSSettingsListController.m日志分诊iOS 16 用 Console.app 过滤 ldid一眼区分卡在下载还是签名RootHelper/main.m下次再看到 Error downloading ldid不必再翻代码——两个文件补上这个弹窗就永远不会再出现。【免费下载链接】TrollStoreJailed iOS app that can install IPAs permanently with arbitary entitlements and root helpers because it trolls Apple项目地址: https://gitcode.com/GitHub_Trending/tr/TrollStore创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?