跨平台应用开发进阶(四十一)使用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点左右打来电话。

五、拓展阅读

相关推荐
Domain-zhuo3 分钟前
JS对于数组去重都有哪些方法?
开发语言·前端·javascript
明月清风徐徐32 分钟前
Vue实训---2-路由搭建
前端·javascript·vue.js
王解41 分钟前
速度革命:esbuild如何改变前端构建游戏 (1)
前端·vite·esbuild
葡萄城技术团队1 小时前
使用 前端技术 创建 QR 码生成器 API1
前端
DN金猿1 小时前
Vue移动端网页(H5)预览pdf文件(pdfh5和vue-pdf)(很详细)
前端·vue.js·pdf
鸽鸽程序猿1 小时前
【前端】javaScript
开发语言·前端·javascript
秦时明月之君临天下1 小时前
React和Next.js的相关内容
前端·javascript·react.js
上官花雨2 小时前
什么是axios?怎么使用axios封装Ajax?
前端·ajax·okhttp
米奇妙妙wuu2 小时前
React中 setState 是同步的还是异步的?调和阶段 setState 干了什么?
前端·javascript·react.js
李刚大人2 小时前
react-amap海量点优化
前端·react.js·前端框架