IOS开发者证书申请及打包步骤

1 创建苹果开发者账号

  • 账号类型

    账号类型费用应用审核周期应用上架特点
    个人99$一周仅支持AppStore1、只能有一个开发者
    2、装机量100台
    3、需提供支持Visa信用卡
    公司99$半个月以上仅支持AppStore1、允许多个开发者
    2、装机量100台
    3、需提供信用卡、公司地址、营业执照编号、授权许可
    4、需要申请邓白氏编码
    企业299$半个月以上支持AppStore和企业内部署1、装机量不限制
    2、可发布内部APP
    3、提供代码级别技术支持
    4、需申请邓白氏码
  • 申请地址

    账号类型申请地址
    个人和公司https://developer.apple.com/programs/
    企业https://developer.apple.com/programs/enterprise/
  • 补充说明

    1. 公司和企业账号需要先申请邓白氏编码,免费,需提供公司的相关资质,可在苹果官网申请;邓白氏编码申请
    2. 公司开发者支持多账号管理,允许添加三种角色的账号:
      • 超级管理员(Agent):即申请到的公司开发者账号,权限最高,可以管理开发者和AppStore中应用。
      • 管理员(Admin):可对应用进行一些配置,添加证书,手机udid等。
      • 普通管理员(Member):普通开发者,通过超级管理员或管理员邀请拥有Apple ID账号的人可成为普通管理员,只能下载和使用证书、真机调试、发布到蒲公英,不能上架到AppStore

2 创建CertificatesAPP IDsProvisioning Profile

Certificates证书是用来给应用程序签名和验签的,只有经过签名的应用程序才能保证他的来源是可信任的,并且代码是完整的, 未经修改的。在Xcode Build Setting的Code Signing Identity中,你可以设置用于为代码签名的证书。 代码签名正是使用这种基于非对称秘钥的加密方式,用私钥进行签名,用公钥进行验证

自动创建

Xcode8 之后引用Automatic manage signing 。XCode会自动为我们创建证书及其对应的Profile文件无需手动操作。

1)XCode中登陆开发者账号

在这里插入图片描述

2)设置主TARGET签名配置

选中主TARGETS—>Signing&Capabilities—>Signing

  • 勾选Automatic manage signing自动管理签名
  • Team选择我们登陆的开发者账号
  • Bundle Identifer填写我们的应用标识(唯一)
    在这里插入图片描述

设置好以后刷新Xcode会自动在开发者平台创建Certificates证书、同时在本地创建App IDsProvisioning Profile(内部关联的Devices是开发者平台添加的所有设备,内部关联的Certificates是开发者平台所有符合的开发者证书,包含刚才XCode自动创建的证书)。

创建结束以后,我们在开发者平台Certificates中查看到XCode自动为我们创建的证书(包含公钥的cer文件)
在这里插入图片描述
同时在本地的钥匙串访问中可以查看到XCode自动创建的包含了Certificates及其对应的私钥的证书,XCode在编译程序时候就是使用该证书中的私钥进行签名。

在这里插入图片描述
同样在我们本地的 /Users/你的设备登陆名/Library/MobileDevice/Provisioning Profiles 路径下生成对应的Provisioning Profile文件
在这里插入图片描述
至此通过XCode自动创建开发者证书完成,我们可以在XCode中运行程序安装到Profile配置文件中包含的设备上进行调试
在这里插入图片描述
在这里插入图片描述
注意:

XCode自动生成的Provisioning Profile配置文件是属于XCode自动管理的,不支持配置为手动签名,因此不可共享给同开发组其他伙伴使用,如果需要共享则使用下面介绍的手动创建App IDs,Provisioning Profile
在这里插入图片描述

手动创建

上面介绍了Apple开发者的CertificatesApp IDsProvisioning Profile通过XCode自动生成,优点是无需我们手动创建和管理证书,同时也存在无法共享Provisioning Profile配置文件的缺点。如果我们想在同开发组内多个开发人员之间共享私钥和Profile配置文件如何操作呢?这就需要我们在开发者平台手动创建我们的AppIDsProvisioning Profile.

注意

这里没有提及手动创建Certificates证书,原因是XCode自动创建的该证书可通用,我们只需要在本地钥匙串访问中将XCode自动创建的Certificates证书对应的包含私钥的证书导出为p12格式,连同手动创建的Provisioning Profile包含该Certificates公钥证书配置文件一起发送给伙伴即可。当然你也可以不使用XCode自动为我们创建的Certificates证书,而是亲力亲为,那么就开始吧…

创建Certificates证书

1. 准备证书签名请求文件(简称CSR文件)

创建证书时, 需要上传csr文件(certSigningRequest), 这个csr文件需要在你电脑打开钥匙串, 工具栏左上角的

钥匙串访问 —> 证书助理 —> 从证书颁发机构请求证书,

然后保存到磁盘即可得到这个csr文件, 该文件存有设备信息, 通过这个csr文件制作的Certificates证书, 安装之后在本机才能获取到私钥(小钥匙图标)。

1-1)打开电脑里面的钥匙串访问
在这里插入图片描述
1-2)选择证书助理—>从证书颁发机构请求证书
在这里插入图片描述
1-3)填写用户邮件地址和常用名,存储到磁盘
在这里插入图片描述
1-4)生成的证书签名请求文件
在这里插入图片描述
2. 生成证书(Certificates)

创建一个开发版的证书, 上传csr文件, 完成后下载该证书, 该证书为.cer文件. 双击这个文件, 会在你的钥匙串中看到这个证书, 点击证书左边的三角, 下边会出现一行, 这一行有小钥匙图标, 这是私钥。可以导出为 p12文件,就可以把这个p12文件和Profile配置文件一起分发给其他小伙伴使用, 这样他们在自己的电脑上双击p12文件, 自己的钥匙串也会多一个证书, 就可以进行开发了(生产证书申请流程和开发证书一致);

注意

  • 需要从本机的钥匙串访问中导出这个包含私钥的p12证书发送给小伙伴使用,而不是从开发者平台直接下载cer证书,开发者平台下载的cer格式证书仅包含公钥无法使用。
  • 一般我们将本机导出包含私钥的p12证书文件连同包含该私钥对应的CertificateProvisioning Profile配置文件一同发给伙伴使用。单独发送一个p12证书(缺少对应配置文件),或者单独一个Profile配置文件(缺少p12证书)都无法正常的进行开发。

上一步我们创建了证书签名请求文件,接下来我们利用该文件生成证书。
在这里插入图片描述
2-1)点击+可进行添加证书:
在这里插入图片描述
2-2)选择好环境后继续需要上传之前创建的.certSigningRequestCSR证书请求文件继续下一步。
在这里插入图片描述
2-3)生成对应的cer证书,在Certificates列表中可以看到,我们将生成的证书下载下来
在这里插入图片描述
2-4)双击下载的Certificates证书安装到本地(可见证书链上多了一个证书,展开的小钥匙的私钥)
在这里插入图片描述

创建App IDs应用标识

Identifiers 标识决定那个APP可以真机调试

1)选择Identifiers—>点击+新建
在这里插入图片描述
2)选择App IDs
在这里插入图片描述3) 填写应用名称Bundle Id,勾选应用需要支持的服务(比如推送通知、钱包等等,根据需要勾选)
在这里插入图片描述
4)继续下一步点击注册即可。
在这里插入图片描述

添加Devices测试设备

devices 决定哪台设备可以真机调试

1)进入Apple Develop平台,选择Devices点击的+
image-20200513113140675
2)填写设备名称(可随意)和设备UDID,继续下一步点击注册即可。
在这里插入图片描述
PS:设备UDID获取,可通过ITunes/ITools获取,或者从Xcode中:Window—>Devices and Simulators获取
在这里插入图片描述
在这里插入图片描述
注意:udid需要双击全选复制,防止复制不全!!

创建Provisioning Profiles配置文件

Provisioning Profile 应用配置描述文件。通过苹果开发者账号创建,其中包含了 certificates证书App ID设备

试想一下:如果要我们打包或者直接在真机上运行一个应用程序,出于安全考虑,我们需要使用证书来对这个App进行签名,用来标识这个应用程序是合法的、安全的、完整的等等。然后需要指明它的App ID,并且验证Bundle ID是否与其一致;再次,如果是真机调试,需要确认这台设备能否用来运行程序。而Provisioning Profile就把这些信息全部打包在一起,方便我们在调试和发布程序打包时使用,这样我们只要在不同的情况下选择不同的profile文件就可以了。而且这个Provisioning Profile文件会在打包时嵌入.ipa的包里

该描述文件有两种

  • Development:ios app development是真机调试的描述文件
  • Distribution
    • Ad Hoc :用于安装你的App到有限的注册设备上调试
    • App Store:用于发布你的App到AppSotre上

1)进入Apple Develop开发者平台,选择Provisioning Profiles点击+
在这里插入图片描述
2)选择环境
在这里插入图片描述
3)选择关联的App ID应用标识符
在这里插入图片描述
4)选择关联Certificates证书(可多选)

注意

  • Distribution(发布环境的)描述配置文件只能关联一个发布证书

    5)选择关联Devices设备(发布环境下的App Store环境不需要关联dvices)
    在这里插入图片描述
    6)填写描述配置文件的名称
    在这里插入图片描述
    7)点击继续生成了对应的Provisioning Profile文件了(这里创建了三个环境分别为:Dev、Hoc、AppStore的)
    在这里插入图片描述

8)如何使用Provisioning Profile文件?

Provisioning Profile配置文件主要用于手动管理签名,而非使用XCode的Automatically manage signing自动管理签名功能,从而实现多人可共享私钥+Provisioning Profile配置文件进行开发。

我们将不同环境的Profile配置文件下来到本地,可在XCode中使用手动方式来管理签名(可手动下载,然后双击加在到XCode中,或者在XCode的Signing—>Provisioning Profile—>Download Profile下载),XCode加载后可在本地的/Users/你的设备登陆名/Library/MobileDevice/Provisioning Profiles路径下查看到
在这里插入图片描述
具体使用步骤如下:

选择主TARGET—>Signing&Capabilities—>Signing

  • 不要勾选Automatically manage signing手动管理签名
  • Bundle Identifier:填写Profile配置文件关联的App ID
  • Provisioning Profile:选择我们下载的所需环境的Profile文件即可
  • Signing Certificate:签名证书必须已经安装在本地了且是被包含在Profile配置文件中的Certificate对应的私钥证书(如果是共享给伙伴,则需要将本地包含私钥的证书导出为p12格式+对应的Profile文件一起发送出去)
    在这里插入图片描述
    至此通过XCode自动创建及手动创建Apple开发者证书等一系列配置文件及来实现XCode自动管理签名和通过手动管理签名的方式已经结束,两种方式的优缺点在上面也已经展示出来,接下来我们开始使用XCode进行开发及打包。

3 APP打包

经过上述证书等一系列配置文件申请结束,接下来我们就可以针对App进行打包或发布

具体步骤:

  • 选择Product—>Archive XCode会对代码进行一次构建操作等待片刻即可

  • 构建结束之后跳出一个页面我们选择分发App
    在这里插入图片描述

  • 下一步选择分发方式(我们这里选择Ad Hoc打包给测试人员安装到指定设备上进行测试,如果是发布到市场选择App Store Connect)
    在这里插入图片描述

  • 下一步应用瘦身选择需要的即可
    在这里插入图片描述

  • 继续下一步填写应用配置信息
    在这里插入图片描述

  • 下一步选择发布的Certificate证书和Profile配置文件(Distributiion(发布环境)的Certificate证书我已经创建并且对应的私钥证书已经安装在本地,我这里Profile使用的是Ad Hoc,)
    在这里插入图片描述

  • 下一步开始进行打包等待片刻即可,打包结束我们选择导出即可
    在这里插入图片描述
    最后我们可通过Itunes或者Itools将ipa安装包安装到指定设备上即可。

扩展

如何将开发者证书导出给其他人员使用(Profile + p12)

如果想实现将一套开发者证书供同开发组内多个开发人员使用

  1. 创建Provisioning Profile配置文件

    首先我们要通过开发者平台创建所需环境(Dev/Ad Hoc/App Store)的Profile配置文件(不可使用XCodeAutomatically manage signing自动管理签名生成的Profile文件),并关联对应的CertificatesAppIDDevices然后将其下载备用。

  2. 本地导出P12证书文件

    注意

    • P12证书文件不是随意导出,必须是Profile配置文件中关联的Certificates中任意一个且具备该Certificate对应私钥的本地已安装的证书才可作为导出证书对象

      那么该导出证书对象中的私钥是从哪里来的?公钥上面说了一般是我们从开发者平台下载的Ceritficate中就包含了,而其对应的私钥是我们创建Certificate时候通过CSR文件生成,因此我们只需通过CSR创建完成Ceritficate后下载该公钥证书安装即可,本地就会生成一个包含了该公钥和其私钥的证书。

      但是!如果本地没有Certificate公钥证书对应的私钥,我们是无法导出p12证书给他人使用的,此时我们只能接受他人的P12证书来使用。

    步骤:

    从本地的钥匙串访问—>登陆—>我的证书列表中选择Profile中关联包含任意一个Certificate公钥和私钥的证书文件,右键导出即可。

  3. 将下载的Profile和P12文件一起发送给他人即可

  4. 其他开发者收到后,先安装P12证书文件,然后在Xocde项目中Signing配置使用手动管理签名,导入该Profile即可使用。

具体使用参考上面如何使用Provisioning Profile文件?

如何从本地导出包含公私钥的P12证书?

进入钥匙串访问—>登陆—>我的证书 选择我们目标证书,右键导出为(.p12)输入密码即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
生成了包含公私钥的p12证书,发给小伙伴安装即可
在这里插入图片描述

证书文件DevelopmentAd HocDistribution、区别

  • Development:该类型证书适用于真机在线调试(需要包含可调试的Devices),不可用于打包

    使用场景:

    例如你的Tester(团队测试人员、客户)都能将测试设备拿到你面前,直接插到你的mac开发机上,你可以直接将程序“灌”进去,那有Development开发证书就够了。

  • Ad Hoc:该类型证书适用于Archive(离线打),安装至手机调试(需要包含可调试的Devices)

    使用场景

    如果Tester人员的iOS设备不能直接让你灌程序,那怎么办?你必须打包(Archive)你的程序,然后发给你的Tester,让他通过itunes进行安装,那就需要Ad hoc证书了。

  • Distribution:该类型证书适用于将App分发至AppStore。

    使用场景

    如果你的App经过你的Tester人员测试通过,需要发布到AppStore供别人下载使用,此时就需要Distribution证书了。

参考

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤申请 Uniapp 打包 iOS证书: 1. 首先,你需要一个 Apple 开发者账号。如果还没有,请前往 Apple 开发者网站 (https://developer.apple.com/) 注册一个账号并登录。 2. 在 Apple 开发者账号中,点击 "Certificates, Identifiers & Profiles"(证书、标识符和配置文件)。 3. 在左侧导航栏中,选择 "Certificates"(证书),然后点击右上角的 "+" 按钮来创建新的证书。 4. 在证书创建页面中,选择 "iOS App Development"(iOS 应用开发),然后点击 "Continue"(继续)。 5. 接下来,你可以选择通过 "Automatic"(自动)或者 "Manual"(手动)方式来创建证书。选择 "Automatic"(自动)可以让 Apple 自动生成证书签发请求,并且会自动处理证书的签发和下载过程。选择 "Manual"(手动)则需要你手动上传证书签发请求文件,并等待 Apple 审核和签发证书。 6. 如果选择了 "Automatic"(自动),则按照提示进行操作,完成证书的创建和下载。 7. 如果选择了 "Manual"(手动),则需要按照指引生成证书签发请求文件(Certificate Signing Request,简称 CSR),然后上传该文件到 Apple 开发者账号中。等待 Apple 审核通过并签发证书。 8. 一旦证书签发完成并下载到电脑上,你就可以使用该证书来构建和打包你的 Uniapp iOS 应用了。 请注意,这只是一个简要的概述,具体的步骤可能会因为 Apple 开发者网站的更新而略有变化。如果你遇到任何问题,建议查阅 Apple 官方文档或者寻求更详细的教程指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值