跨平台应用开发进阶(四十一)使用Xcode打包 iOS 应用 archive 时四种证书的区别详解

一、archive 四种模式

在应用XCode进行苹果打包的时候有以下四个选项可供选择,在此累述一下四种模式的含义:

  • App Store : 用来发布到App Store, 使用发布证书编译。(production)
  • Ad Hoc : 在开发者账号中添加过UDID的设备可以使用,使用发布证书编译。(production)
  • Enterprise : 企业发布,使用企业证书编译。
  • Development: 在开发者账号中添加过UDID的设备设备可以使用,使用开发证书编译。(Development)

二、相同点

对于选项1和选项3,比较容易理解,而选项2和4虽然二者在安装测试的时候都可以用,但是二者区别总结如下:

相同点:

  1. 在创建证书的时候,都需要在apple帐号中添加具体设备,只有被选中的设备,才能安装该证书打出来的ipa包;
  2. 二者都可以安装到真机上进行测试;

三、安装方式区别

  • archive成ipa包,通过蒲公英/iTunes tool 等第三方平台,进行安装,此种情况下两种证书都可以使用;

  • 真机连接到 Xcode 直接运行安装,此种方式一般为开发人员在开发过程中比较快捷的安装测试方式,但是,该方式只可以使用development描述文件及code sign用Developer证书,如果使用production描述文件及code sign用Distribution证书,不能运行调试,报:process launch failed: failed to get the task for process 10487 错误提示!

  • 苹果文档指出:Ad Hoc模式的包,和将来发布到 App Store 的包在各种功能测试上是一样的,只要Ad Hoc模式下测试(推送,内购等)没有问题,发布到App Store也是没有问题的。

综上所述:前期开发测试的时候,Ad Hoc和Development包都可以使用,介于Development多一个可以直接连接真机安装的功能,建议首选Development模式创建证书,后期将要发布到AppStore上的时候,再创建Ad Hoc 证书,安装测试,确保最终上架到AppStore的应用无Bug。

四、iOS开发者账号(企业版)申请攻略

4.1 苹果开发者账号类型

Apple开发者账号分为以下三类:个人开发者账号 、公司开发者账号 、企业账号

  1. 个人开发者账号 :$99美元,可以App Store上架,最大udid支持数为100,需要创建 Apple ID,协作人数仅开发者自己,不需要填写公司的邓白氏编码( D-U-N-S Number)。

  2. 公司开发者账号 :$99美元,可以App Store上架,最大udid支持数为100,需要创建 Apple ID,允许多个开发者进行协作开发,需要填写公司的邓白氏编码( D-U-N-S Number)。

  3. 企业开发者账号 :$299美元,不可以App Store上架,不限制udid支持数量,需要创建 Apple ID,允许多个开发者进行协作开发,需要填写公司的邓白氏编码( D-U-N-S Number)。

4.2 企业版开发者账号的优势是什么?

可以不通过苹果审核,分发APP,补齐部分APP因审核过于严苛,而无法进行分发的短板。

4.3 企业版开发者账号的申请步骤

  1. 选定一个人作为账号持有人,最好选定一个熟知公司信息,并能随时联系到公司法人,并且可以获得公司营业执照等信息的人,如公司高管或者法人本人。

  2. 准备一个企业邮箱,用163之类的容易被拒。

  3. 使用这个企业邮箱去注册一个AppleID,注册地址:appleid.apple.com/account,注意填写的个人信息要是上面选定的持有人的真实信息,主要是姓名和电话,注册完成记得开启两步验证。

  4. 进入注册企业账号官网:developer.apple.com/cn/programs...,登录上面注册好的AppleID,然后拉到网页最下面的"开始申请",选择仅在我的公司内部使用,开始填写申请表格

  1. 用持有人的iPhone去App Store下载 "Apple Developer"软件,进行注册。

  2. 下载完成后,登录上面注册的AppleID账号。

  3. 根据提示,填写真实公司信息及持有人信息,注意有的页面需要填写纯英文,有的页面需要填写中文,注意看页面上的提示,填错将不能继续。

  4. 填写的信息应该包括公司英文名称、邓白氏码(如果忘记了,可以再这里查询developer.apple.com/enroll/duns...)、备案的官网地址(注意官网上留的联系方式,苹果可能会通过该联系方式来联系公司,验证持有人的真实身份,注意接听)、公司地址、持有人姓名、持有人身份证号码、持有人人脸识别等等。

4.4 特别注意事项

  1. 企业账号申请相对困难些,在和苹果审核人员沟通时,一定要注意不能说因为内部测试而申请企业账号的,testfligt完全可以内部测试使用了。一定要说是公司内部人员使用,而非内部测试使用,可以准备一个申请理由:比如用于公司内部的OA考勤办公系统的APP版开发,用于公司人数较多,且公司信息的机密性,不方便将公司内部使用的APP上架至App Store,所以需要申请一个企业版的开发者账号,以便提供公司内部员工的办事效率。

  2. 一定要强调公司人数超过100人,如果被苹果查到注册人数不到100,就跟苹果说开了分公司或者已经扩张了,现在总人数已经超过100了,因为不到100个员工是没有资格申请企业版开发者账号的。

  3. 全部要使用公司真实信息进行注册,包括账号持有人、联系电话、注册使用的iPhone必须是持有人本人使用的手机。

  4. 注意接听国外电话,在确认公司信息的过程中,可能因为他们刚刚换班的原因,苹果客服一般会选择在早上9点左右打来电话。

五、拓展阅读

相关推荐
kill5228 分钟前
useRef
前端·javascript·react.js
蓝悦无人机10 分钟前
从“摸形状“到“点到线面的距离“——聊聊 SLAM 前端(激光雷达篇)
前端·loam·数据关联·激光slam·点云特征提取·点到线面距离·icp/ndt
flash俊杰40 分钟前
工程约束怎么不拖后腿
前端
霍营_托尼1 小时前
纯前端播 40GB 本地视频?我把浏览器改造成了「磁盘流式」播放器
前端·javascript·音视频开发
溪语流沙1 小时前
【Web全栈进阶】FastAPI工程化:APIRouter拆分 + 配置 + 依赖注入
java·前端·fastapi
Shirley~~1 小时前
Three.js的基础概念
前端·3d
deli0071 小时前
黏菌没有大脑,3000 个 Physarum 粒子跑 12973 步自己铺出了迷宫最短路
前端
凌云若寒1 小时前
BarTender提示#807错误:无法在拥有其他许可证的Licensing Service上激活节点锁定的 Professional 版许可证 的解决办法
运维·服务器·前端·学习·软件需求
嘟嘟同学和妮妮同学1 小时前
用原生 JS 做了一个中国历史帝皇梳理的可视化站(7 朝 77 帝 + Leaflet 地图)
前端
黄权光1 小时前
【微信小程序】uni-app + Vue3 + Vite 的小程序项目实现「进入指定范围才能打卡」的考勤功能
前端