我是一个独立开发小工具的普通开发者,APP做出来之后还在内部测试阶段,不想急着提交AppStore审核,怕一堆BUG流出去影响口碑,也不想花太多精力在上线准备上,经同行介绍才开始接触各种ios签名,这半年多来踩过不少坑,也摸出了不少实用的经验,今天就说说我最真实的使用感受,也给刚入门的朋友提个醒。
最开始接触签名的时候,我连怎么安装怎么弄都不知道,最早拿到服务商给的下载链接,我点了安装之后,手机屏幕上出现了APP图标,点进去直接弹提示说开发者不受信任,根本打不开,当时我还以为是下到了恶意软件,差点直接删掉,赶紧找服务商问怎么回事,才知道需要手动去设置里信任证书。这大半年来我帮几十个测试同事装过包,对信任证书的流程熟的不能再熟,一般来说,安装完APP先别着急点开,先打开手机设置,找到通用选项往下翻,不同系统版本位置还不太一样,旧一点的系统是在描述文件与设备管理里面,新一点的ios版本挪到了VPN与设备管理分类里,找到对应签名生成的描述文件,点进去之后点右上角的信任,还要输入一遍自己的手机锁屏密码确认,这一步完成之后再退回去点开APP,就能正常打开了。我第一次操作的时候,就是输完密码忘了点确认,直接退了出来,结果折腾了十多分钟还是打不开,那时候笨得可笑,现在想想也算是第一个踩过的小坑。
后来我试过自己动手签名,服务商给我发了P12证书文件和对应的描述文件,教我导入到电脑的钥匙串里,那时候我才知道P12证书到底是怎么用的。原来P12就是开发者证书导出后的文件,带密码保护,导入的时候需要输入服务商给的提取密码,导入成功之后就能用打包工具给自己的IPA包签名了。我第一次导入的时候,连着三次输错密码,导致证书直接被锁定,没法用了,最后只能麻烦服务商重新发了一份文件,折腾了半天才弄好。后来我自己申请了开发者账号,导出自己的P12证书的时候,特意把密码记在了记事本里,就怕再出现这种问题。其实如果自己有正规的开发者账号,用自己的P12证书签名,稳定性会好很多,不会被别人的APP牵连掉签,就是需要自己懂一点打包签名的知识,对新手来说稍微有点门槛。
这大半年来我把市面上常见的签名渠道都试了个遍,每个渠道都有不同的感受,也踩了不同的坑。最早用的是企业签名,当时听说企业签名便宜,所以一开始就选了,最开始图便宜选了共享企业签名,价格真的很低,没想到用了才三天就掉签了,掉签之后APP点开直接闪退,根本进不去,找商家补签,商家半天不回消息,回了之后说补签要额外加钱,那时候真的气得不行,才知道共享签名就是把几十个甚至上百个APP放到同一个企业证书上,只要有一个APP违规,整个证书都会被苹果封掉,所有APP一起掉签,真的太不稳定了。后来我换了独立企业签名,价格贵了不少,但是一个证书只放三四个正规的测试APP,基本上不会被牵连,掉签的频率低了很多,掉签之后服务商也会免费补签,只要不删除原来的APP,重新覆盖安装就能用,数据也不会丢,这点还是很方便的。
之后因为测试的人数慢慢增加,我又试了超级签名,超级签名是用个人开发者账号签名的,每个账号有一定的设备安装数量限制,当时我们测试团队才十几个人,完全够用,安装流程也很简单,点链接先获取设备的UDID,然后自动签名就能下载,还是要走一遍信任证书的流程,不过超级签名的稳定性比共享企业签名好太多,我用了两个多月,只掉过一次签,那次是因为服务商给我用了盗来的黑号,账号被苹果封了,所以才掉签,后来换了正规的个人开发者账号,就再也没出过问题。掉签之后的解决办法也很简单,服务商换个新账号重新签名,生成新的下载链接,覆盖安装一下就好,只要不删原APP数据都在,挺省心的。超级签名唯一的问题就是人多了成本会变高,安装量用完就得续费,如果团队超过几十个人,用超级签名其实比独立企业签名还贵,所以我后来人数多了就换了别的方式。
再后来我就开始用TF签名,也就是TestFlight上架签名,这也是我现在一直用的签名方式,真的太稳定了,毕竟TF是苹果官方推出的测试平台,属于苹果自己的服务,根本不存在封证书掉签的问题,我用了快三个月,从来没掉过签。安装流程也比别的签名省心太多,只需要给用户发一个邀请链接,用户点进去直接跳转到TestFlight,点击安装就能用,根本不需要手动去设置里信任证书,我之前给很多不太懂手机操作的测试用户装包,别的签名都要教半天怎么找信任入口,TF完全不用,点两下就能装好,对用户太友好了。TF唯一的小限制就是一个构建版本有效期是九十天,而且每个版本有一定的下载次数限制,不过我们本来就是测试阶段,本来就需要频繁更新版本,九十天更版本刚好契合,也算不上什么大问题,只要APP本身内容合规,不违规,基本上不会出问题,真的是我用过最省心的签名方式了。
我还试过H5封装签名,之前做一个临时的客户收集工具,本来就是H5写的,想做成APP放在桌面方便使用,就试了H5封装,把H5网页封装成IPA包之后再签名,成本很低,操作也快,做出来就能直接安装使用,体验其实也还可以,就是打开速度受网络影响比较大,而且调用手机原生功能的时候容易出问题,我当时做的工具需要调用相机扫描二维码,封装完之后一直调用不成功,折腾了好久才发现是封装的时候权限没开对,改了之后才好,后来临时工具用完就下线了,所以也没长期用,要是对APP体验要求不高,只是做个临时应用放在桌面,H5封装加签名还是挺方便的,成本很低,适合临时用。
现在我的APP功能打磨的差不多了,正在准备AppStore上架,其实正式上线的话,AppStore上架肯定是最好的选择,苹果官方应用商店,所有用户都能直接搜索下载,不需要任何额外操作,也不会掉签,用户体验是最好的,就是审核比较严格,我第一次提交因为隐私政策写的不规范,被打回来了,现在改完材料准备第二次提交,虽然审核严,但是只要过了就是一劳永逸,正式给用户用的话,肯定还是上架AppStore最正规,签名说白了就是测试阶段过渡用的,没办法替代正式上架。
说这么多,其实我最想说的就是稳定流畅的方法,我踩了这么多坑总结出来的经验,首先就是千万不要图便宜选共享签名,共享签名虽然价格低,但是掉签频率真的能把人折腾疯,我之前用共享签名,早上装好下午掉,天天要给大家重新发链接重新装,折腾的时间成本远远多出来那一点差价,真的得不偿失。然后就是根据自己的使用场景选合适的签名,几个人内部调试,人数不多,选正规的超级签名就很稳,成本也不高;人数多一点,长期测试,直接选TF签名,官方背书,基本上不会掉签,还不用用户折腾信任证书,体验最好;要是预算有限,选独立企业签名也比共享签名稳太多,只要找靠谱的服务商,掉签了也能及时补签。要是自己有开发者账号,用自己的P12证书签名,那是最稳定的,证书在自己手里,不会被别人牵连,只要自己的APP合规,苹果不会随便封你的证书,就是需要懂一点打包知识,适合有一定基础的开发者。
遇到掉签也不用慌,掉签之后先不要删原来的APP,先联系服务商问清楚情况,正规服务商都会免费给补签,补签完直接覆盖安装,原来的数据都能保留,不用重新登录重新配置,我第一次掉签就是慌慌张张删了APP,结果里面的测试数据全没了,后悔了好久,这个教训我一直记着。还有就是不管用什么签名,都不要放违规内容,苹果现在查的越来越严,只要内容违规,不管是什么签名什么渠道,都会被封,合规的测试APP,基本上很少会出问题。
这大半年用下来,我也从什么都不懂的新手变成了能自己处理各种小问题的老人,其实ios签名真的没有那么复杂,就是测试阶段用来安装APP的方式,只要选对渠道,选对适合自己的方式,就能用的很稳定省心,我一开始也不知道ios签名需要什么,试了这么多次才明白,其实只需要你准备好你的安装包,找靠谱的服务商,根据你的人数和使用场景选合适的类型,就这么简单,无非就是一开始要踩几个坑,摸清楚规律之后就很顺了。我也踩过黑心服务商的坑,也遇过各种奇奇怪怪的小问题,现在都能轻松解决了,希望我的这些感受能给刚接触ios签名的朋友一点参考,少踩一点我踩过的坑。