我创业做中小团队轻量化办公协同工具快三年,大部分时间都在和内测打交道,从一开始啥都不懂踩满坑,到现在稳定走流程,苹果签名这块的经验,说出来都是实打实踩出来的。
一开始第一个版本开发完,出了IPA包,要给内部二十多个测试员和十几个种子用户装,总不能让每个人都连电脑装开发版吧?我赶紧梳理内测流程,那时候才知道,苹果的IPA不上架AppStore也能装,只要做IPA签名就行。
最早我想走官方的TF签名,毕竟听起来是苹果官方的东西,肯定稳。那时候买了个人苹果开发者账号,一年99美元,按着流程把IPA包传到App Store Connect,填好基础信息,加测试设备,发邀请链接给用户,用户装完就能用,确实方便。TF签名有一点好,用户不用去设置里找设备管理点信任,直接从TestFlight里打开,对新手太友好了。而且作为官方内测渠道,只要账号不违规,根本不会掉签,这一点真的甩很多第三方签名八条街。
用了不到两个月,问题就来了。个人苹果开发者账号一年最多绑定100台测试设备,我们内测扩到一百二十多台,直接满额了。我想把不用的旧设备删掉腾位置,结果苹果规则就是删了旧设备也要等一年才能刷新名额,那段时间刚好有几个合作企业要派管理员测新版本,直接卡在这动不了。这时候朋友给我介绍了超级签名,说比企业共享签名稳,我就赶紧试了试。
超级签名其实就是用个人开发者账号的权限给IPA签名,按设备数收费,一个设备五六块钱,当时算下来一百多台要小一千,比共享签名贵不少,但想着稳也就忍了。说下超级签名的使用感受吧,安装确实方便,用户点H5链接就能直接装,不用额外操作,掉签概率确实比那种几十块钱一个月的共享企业签名低很多。但坑也不少,我那次碰到服务商给我用的是黑号,就是盗来的苹果开发者账号,不到半个月账号被苹果封了,我这边一百多台设备全部掉签,连夜找服务商补签,折腾了整整两天,好多种子用户都吐槽不想测了。还有一次,一个测试员换了新手机,重新安装要重新算设备额度,又要加钱,长期内测下来成本真的不低,三百台设备算下来一年要两千多,对于我们小创业团队来说,也是一笔不小的开支。
后来我们需要长期给几百个合作客户的内部人员做内测,超级签名成本太高,TF又受设备限制,我就想着干脆自己办个企业苹果开发者账号,做苹果企业签名用于企业办公内测,刚好我们做的就是内部工具,不对外公开上架,完全符合企业账号的使用规则。
弄企业签名绕不开P12证书管理,这块我一开始也踩了大坑。刚拿到证书,我把导出的P12文件随便存在了公司共享百度云里,刚好有个外包技术进来拿资料,把P12顺带拷走了,还传到了他自己用的公共签名平台,结果没半个月,证书被苹果检测到多人非授权使用,直接封了,我这边三百台设备全部打不开,所有人都来找我反馈,那时候刚好赶新版本内测,差点误了给客户的交付。
花了一个多星期找苹果申诉,重新申请了证书才搞定,从那之后我就摸出了P12证书管理的门道。P12证书是包含了证书和密钥的核心文件,绝对不能随便共享,更不能存在公共云盘或者第三方签名平台的服务器上,一定要存在加密的本地存储里,只有核心技术负责人能拿到,导出的时候一定要设置高强度密码,每次签名用完就及时退出,不要留着权限给别人用。哪怕是合作方要签名,也是我们本地签好IPA包再给对方,绝对不会把P12发出去。
这么久下来,我也总结了不少证书防掉签的技巧,说出来给大家做参考。第一,绝对不要用共享证书,那种几十块钱一个月,号称无限掉签包补的,几百个人共用一个证书,下载量一大苹果直接检测封证书,掉签掉得你怀疑人生,天天补签都能把你折腾死,省钱最后省出来一堆麻烦。第二,一定要用正规渠道申请的苹果开发者账号,不要买那种便宜的黑号,黑号随时被封,一死全掉,风险太大。第三,控制签名应用的下载范围,我们是企业内部办公用的,只给内部员工和授权内测用户下载,不会放到公网引流,苹果根本不会随便检测,自然也就不容易掉签。第四,定期更新描述文件,我一般三个月重新生成一次描述文件,给新版本用新的描述文件签名,不要一个描述文件用一两年,容易被苹果标记。第五,做正规应用,我们签的都是合法的企业办公工具,本身就合规,苹果不会无缘无故封你,很多掉签都是被同证书的违规应用牵连的,自己用独立证书就没这个问题。
我们早期还试过把功能做成H5封装成IPA,用来给客户做快速定制,省得每次都改原生包,H5封装出来的IPA也要签名才能安装,最早用共享签名的时候,掉一次签所有封装好的包都废了,还要重新弄,特别耽误事,现在我们自己有证书,封装完直接本地签名,上传到下载站就能用,大半年都不会出问题,特别省心。
很多人问我,为什么不先上架AppStore?其实我们也准备上架,面向公开用户的版本已经改得差不多了,等着二次审核。但很多合作的中小企业客户,他们的办公APP是内部定制的,涉及很多内部业务数据,不想公开上架到AppStore,就想只给内部员工安装,这种需求苹果企业签名刚好能满足,不用走AppStore漫长的审核流程,签完就能装,而且稳定的话,一次安装能用好几个月,用户根本不用折腾。我现在大半年了,也就掉过一次,还是我自己管理P12不当导致的,调整之后到现在快一年了,没有一个用户说APP打不开,原来天天处理掉签投诉的那个微信小号,现在半个月都没一条新消息,省下来的时间我都用来改产品细节,比之前省心太多了。
说下设备管理这块,现在我们用企业签名,用户第一次安装的时候,只需要打开设置,找到通用里的VPN与设备管理,找到我们的企业证书,点一下信任就可以了,一次设置,只要不掉签就能一直用,现在的iPhone路径很清晰,稍微引导一下新用户就能搞定,根本没有大家说的那么麻烦。原来麻烦是因为天天掉签,用户要天天删了重新装重新信任,现在稳定了,用户一次操作之后半年都不用动,体验非常好。
对比下来,TF适合一百台以内的小范围测试,稳定不用操心,就是有设备限制,适合新版本刚出来的第一轮内测。超级签名适合短期小批量测试,不用自己弄证书,上手快,但是长期用成本太高,还有账号风险,不适合我们这种长期做内测的团队。自己弄企业账号做独立签名,适合长期内测或者企业内部用,只要管好P12证书,做好防掉签的细节,真的特别稳定省心,对于我们做企业办公工具的创业者来说,没有比稳定更重要的了,不用天天扑在签名补签的救火工作上,才能安安心心打磨产品,服务好客户。