那会儿我正蹲在客户公司茶水间泡速溶咖啡,手机震了三下:三个不同渠道的签名链接全失效。其中两个是上周五签的,用的是某家标榜“90天不掉”的超级签名服务,结果撑了26天零14小时;第三个是我自己用企业证书签的IPA,才11天——比我的健身卡有效期还短。

说真的,我不恨掉签,我恨那种“它明明能跑,但就是不让你信它”的傲慢。苹果签名这事儿,表面是技术,内里是信任链的层层设防。你得懂:iOS签名不是给APP盖个章,而是给整个运行环境做一次动态公证。设备ID(UDID)要进描述文件(.mobileprovision),证书(.p12)得和Apple ID绑定,而那个ID本身还得是“干净”的——不能频繁换设备、不能批量登录、不能同一IP刷几十个账号。我试过用家人身份证注册的Apple ID批量绑设备,第三天起,新绑的设备就收不到推送,再过两天,签名直接拒载。苹果没发警告邮件,它只是默默把你从信任名单里划掉,像删一条没回复的微信好友。

价格?真没法统一说。上个月我找了个小工作室,报价280元/年/设备,含5台设备管理后台,我以为捡漏了。结果他们用的是个人开发者账号分发——对,就是那个每年99刀、只能装100台设备、且每7天必须重签的账号。我交完钱才发现,他们所谓“年费”,其实是帮你手动续签12次……我当场退了190,剩下90当学费。后来转头找了家深圳的中间商,报的是3680元/年/100台,用的是企业证书+自动轮换机制。贵是贵,但过去83天,只掉过两次,每次都在凌晨3:17左右(我记这个时间是因为服务器监控告警短信总在这个点蹦出来)。他们解释说:“不是证书过期,是苹果后台在扫‘异常分发行为’,我们得在检测窗口关闭前把旧证书踢下线,换新的上去。”听起来像黑客电影,但确实管用。

最崩溃的一次,是帮一个教育类H5封装项目做IOS签名。客户要求把网页打包成原生壳,加个离线缓存和本地通知,再上架到他们内部的MDM平台。我们用Cordova打的包,体积14.7MB,签名时一切顺利。结果推送给学校老师后,第三天开始陆续有人反馈:“点开黑屏,等十秒弹出‘未受信任的企业级开发者’”。查日志发现,不是证书问题,是他们的iPadOS系统版本混杂——15.7.8和16.6.1共存,而我们用的描述文件里,`platform`字段写死了`iOS 16+`,导致老系统拒绝加载。改配置重签花了6小时,期间客户在群里发了7条带感叹号的消息,最后补了一句:“你们是不是连iOS基础兼容都没测?” 我没回,默默把测试机从2台扩到11台,覆盖14.5–17.4所有主流小版本。

说到稳定性,得提一句“超级签名”这个词被玩坏了。现在市面上90%自称“苹果超级签名”的,其实只是用大量个人账号轮着签,靠数量堆存活率。真正靠谱的,是那种把企业证书+Ad Hoc+托管式UDID收集+动态描述文件生成全链路闭环的团队。我上个月合作的一家,后台能看到每台设备的签名状态、证书剩余有效期、甚至最近一次校验失败的具体错误码(比如`errSecTrustSettingDeny`这种)。他们不承诺“永不掉签”,但会提前48小时邮件预警,并自动触发备用证书切换——就像银行给你配了两张信用卡,一张快到期,另一张已激活,只是不告诉你。

当然也有光鲜时刻。上上周,客户临时要赶一个展会Demo,原计划走TestFlight,但审核卡在“隐私政策链接404”整整三天。我们连夜把H5页面重新封装、用企业证书签名、生成带二维码的下载页,当天下午三点发给32位参展同事。所有人扫码即装,图标带自定义icon,启动页有客户logo,连iOS控制中心里显示的App名称都是他们品牌名。没人问“这怎么装的”,只问“能不能再给我5个链接?IT部要批量部署”。那一刻我觉得,苹果签名不是枷锁,是把Web的轻快和iOS的体面缝在一起的针线。

不过别误会——它依然脆弱。上周五我亲眼看着一台刚签好的iPhone 13,在连接公司Wi-Fi后自动重启一次,再打开App,就提示“此App已损坏”。查后台发现,是设备在连接MDM服务器时触发了证书吊销检查,而那天苹果恰好刷新了全球吊销列表(CRL)。没有预警,没有日志,只有结果。

我现在桌上贴了张便签:“签名不是交付终点,是信任周期的起点。”
下面还有一行小字:“下次别信‘永久稳定’的销售话术,信自己写的监控脚本。”

——毕竟,苹果签名这件事,从来就不是让App跑起来,而是让它持续被相信。