跨平台应用开发进阶(四十一)使用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. 二者都可以安装到真机上进行测试;

三、安装方式区别

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

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

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

综上所述:前期开发测试的时候,Ad HocDevelopment包都可以使用,介于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点左右打来电话。

五、拓展阅读

相关推荐
袋鼠云数栈UED团队39 分钟前
基于 Lexical 实现变量输入编辑器
前端·javascript·架构
cipher1 小时前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
UrbanJazzerati1 小时前
非常友好的Vue 3 生命周期详解
前端·面试
AAA阿giao1 小时前
从零构建一个现代登录页:深入解析 Tailwind CSS + Vite + Lucide React 的完整技术栈
前端·css·react.js
兆子龙2 小时前
像 React Hook 一样「自动触发」:用 Git Hook 拦住忘删的测试代码与其它翻车现场
前端·架构
兆子龙3 小时前
用 Auto.js 实现挂机脚本:从找图点击到循环自动化
前端·架构
SuperEugene3 小时前
表单最佳实践:从 v-model 到自定义表单组件(含校验)
前端·javascript·vue.js
昨晚我输给了一辆AE863 小时前
为什么现在不推荐使用 React.FC 了?
前端·react.js·typescript
不会敲代码13 小时前
深入浅出 React 闭包陷阱:从现象到原理
前端·react.js
不会敲代码13 小时前
React性能优化:深入理解useMemo和useCallback
前端·javascript·react.js