企业版账号 vs TestFlight?

Ad-hoc版本的不足

  • 需要在苹果开发者中心网页输入手机的UDID

  • 手机数量限制为100台

  • 不能删除已经输入的UDID,只能在每年的续费前按照提示“全部放弃”,这就意味着,要么浪费宝贵的名额,要么重新整理清单

  • 查看手机的UDID,用iTool或者iTunes安转iPa包等对于普通使用者来说门槛也比较高

企业版账号

  • 没有100台的限制,不需要使用者提供UDID

  • 可以在企业内网立即发布,不需要AppStore审核,不需要等待

  • 可以做成扫描二维码自动下载安装,在内网做个页面就可以了,很方便,不过要求是Https的

  • 已经有很多公司在用:开发和内部试用阶段用企业版账号;提交AppStore用开发者账号。当然,在提交AppStore之前,测试还是要测一下的,毕竟企业版账号还是有一点差异的。

限制点:企业版账号和开发者账号不能用同样的Bundle ID

  • 同一个手机上会出现两个相同的APP(名字和icon都一样)

  • 很多第三方库需要通过Bundle ID标识不同的应用,这样一来,企业账号版本和开发者账号版本本质上是两个不同的应用。需要在打包的时候进行配置,APP后台也需要做相应的区分。

第三方库(跟Bundle ID相关)

一般都是输入App的Bundle ID,平台返回一个AppKey,然后集成在iOS客户端代码之中

  1. 友盟统计

  2. 热更新JSPatch

  3. 极光推送
    需要提供开发证书和产线证书,而证书的生成需要App ID,这个也是跟Bundle ID相关

  4. 分享,主要是微信,新浪微博,QQ三个平台

  • 如果是用友盟社会化组建实现,那么和友盟统计一样,需要Bundle ID
  • 微信需要输入Bundle ID,不过可以输入3个,影响较小
  • 新浪微博也是需要Bundle ID,不过预留了一个测试bundle ID,影响也比较小
  • QQ需要Bundle ID,只有一个位置,需要新建应用,并且还要区分iPhone版和iPad版,跟不上时代
  1. 人脸识别,从代码上看跟企业版账号无关;不过有可能把Android的包名或者iOS的bundle ID打包在静态库中,这样的话就跟某个应用强关联了。这样做可以对应用收费,而不是仅仅是对“客户”收费,可以理解

第三方库(跟Bundle ID无关)

  1. AliPay的App id对应商家的,这个和企业版账号和开发者账号无关

  2. 绑定支付宝,需要一个partner ID,是标识合作伙伴的,跟具体的应用无关。

  3. 银行支付插件,跟企业版账号无关

TestFlight

  • 25个内测人员(无需审核),2000个外测人员(大约1天左右的审核期),系统为iOS8之后,有效期60天,需要对方的e-mail地址。官方网站

  • 需要安装TestFlight App,有测试需求时,会通过e-mail通知,通过这个App安装beta测试版

  • 有明显的标识(orange dot )区分beta版和正式版,也能方便地截屏、反馈等

  • 如果有应用内购买( in-app purchases),在beta测试版中是免费的。不过对于通过支付宝,银行插件,第三方支付进行交易的话,应该是功能正常的,因为这些并不走苹果的支付系统(猜测,需要验证一下)。

If a beta app has in-app purchases, you do not have to purchase them, as in-app purchases made with beta builds are free within the context of the beta version.

  • TestFlight原本是一个独立的测试平台,后来被苹果收购,集成在XCode6和iOS8之中

  • 可以很方便地关闭测试,并且是release版本

参考文章

如何使用TestFlight进行App构建版本测试

测试员如何使用TestFlight进行测试

选择建议

  • 如果只是为了突破100个的限制,并且不想输入烦人的UDID,那么Test Flight足够用了

  • 要在Test Flight的网站输入测试用户的邮件地址,稍微有点麻烦,不过能够换来“方便反馈”的好处,还是可以接受的

  • Test Flight的外测版本,也有1天的审核时间。而不需要审核的内测人员只有25个。当前正式版本的审核也可能只要1天,这个“审核”将是一个很大的浪费。

  • Test Flight是上线前的beta测试,所以不能用测试环境的那一套东西。

  • 如果应用中有Apple Pay,Test Flight可以提供虚拟支付,这个很难模拟,还是有一定的价值。如果支付体系是支付宝、微信、银联等第三方插件,那么Test Flight的这点价值就很难体现出来。

  • 如果一开始就按照“两个应用”来规划,那么用企业版账号也是一个不错的方法,也有很好的实践

  • 很多第三方库都是通过bundleID来生成AppKey,管理到某个应用,所以需要把这些AppKey放到配置文件中,在企业版和正式版本之中方便切换。这点也是使用企业版账号进行内部测试、试用方案最麻烦的地方。299美元/年的价格,对一些大一点企业倒不是问题。

你可能感兴趣的:(企业版账号 vs TestFlight?)