iosxb 自签的第一周:三台设备、两个证书,和一个被我重装四次的描述文件
上周日下午三点,我在客厅地毯上坐着,膝盖上放着一台屏幕有划痕的 iPhone 11。桌面上的 MacBook Air 风扇转得很响,Xcode 刚更新完,命令行里 iosxb 的进度条卡在 78%。
那是我第一次认真用 iosxb 自签。
不是玩票。是真的有一台旧机器,想让它跑起几个在 App Store 里已经找不到的应用。
我先说结论:iosxb 这类自签工具的门槛不在工具本身,而在「证书」和「信任」这两件事上。工具负责签名,人负责决定要不要信。这个区别,第一天我就吃到了教训。第一次签名成功之后,我兴冲冲地把手机递给老婆看,她点开应用图标,屏幕上跳出一行灰字,说无法验证。我盯着那行字看了五秒,才反应过来是设置里的描述文件没被信任。
信任很简单,却最容易被跳过。
第二次尝试,我换了个证书。这次应用能装了,但打开三秒就闪退。翻了一圈日志,发现证书的过期时间只剩下十九天。我当时用的是一个网上随手找来的企业证书,页面上没写到期日,只写「稳定可用」。这四个字我需要单独拎出来讲:它不构成任何承诺,也不该被当成承诺。后来我干脆用自己的开发者账号重新签了一遍,闪退问题消失,代价是每七天要重签一次。
第三天晚上,我把过程整理成了一份检查清单,贴在书桌旁。清单上有六项,我照着做了四遍,第四遍才算顺。那台 iPhone 11 现在跑着三个自签应用,其中一个是我自己改过图标的小工具,图标是纯绿色的方块,跟系统里任何一个都不一样。
有人问我为什么不用 TestFlight。
因为它只解决「分发」,不解决「你手上已经装不了的应用」。这两件事看起来像,其实不是一回事。
说句可能不太讨喜的话:我不认为 iosxb 自签这类工具需要被所有人学会。它适合那些手里有旧设备、愿意花两个小时读日志的人。如果你只是想装一个应用,然后希望它永远别出问题,那还是回 App Store 吧。官方渠道确实更省心,这一点我不打算装作看不见。我自己的手机主力机也没装任何自签应用,理由很简单:稳定性比自由更重要,至少在主力机上如此。旧设备是另一回事,那里是我的试验田。比如我在这台旧 iPhone 上测试过从 gamesky游民星空 下载的几份归档安装包,也顺手把 4949tuk.com 上列出的证书状态记了一笔,纯属个人留档,不构成推荐。
周四早上我在地铁里翻到一个名字,叫「糖心传媒⭕⭕vlog」,跟我正在做的事完全无关,但点进去看了一眼,发现对方也在讨论签名和描述文件的问题。世界有时候很小,小到地铁隧道里都能撞上同一件事。
我把那页截图存了下来,没做别的。
关于具体步骤,我不打算在这一篇里写得太细。网上已经有很多版本,而且细节会随系统版本变化。我更想记下的是那个反复出现的问题:为什么明明显而易见的东西,我还是要重装四次描述文件才记住。
答案很普通。因为前三次我都在赶时间。
最后说说那台机器的现状。三个应用里,两个是工具类,一个是旧版阅读器。阅读器的图标还是老样式,点开之后要等两秒才出内容,我一直没去修。修它需要重新签名,重新签名就意味着再来一遍那套流程。我暂时不想。
留一点不完美,也挺好。
如果你也在折腾相似的事,可以看看我整理的我的极品女上司无删减版那份工具清单,里面有一些我实际用过的链接。不保证都还能用,但至少都是我自己点开过、装完过的东西。