React Native 打包前凑之 iOS 证书配置

发布于 2024-08-09 04:59:03 字数 7020 浏览 30 评论 0

iOS 证书配置

一、Overview

我们都知道开发一款应用需要配置苹果常用证书、 AppId , Provisioning Profiles ,如果有推送还需要配置推送证书等

二、App ID

App ID 是每个应用的独立标识,在设置中可以配置该应用的权限,比如: Push NotificationsNetwork Extensions 等。

三、开发者证书

  • iOS 证书是用来证明 iOS App 内容(executable code)的合法性和完整性的数字证书。对于想安装到真机或发布到 AppStore 的应用程序(App),只有经过签名验证(Signature Validated)才能确保来源可信,并且保证 App 内容是完整、未经篡改的。
  • 数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。具有时效性,只在特定的时间段内有效。
  • 开发证书类型分为两种,一种开发证书(iOS Development)一种发布证书(iOS Distribution)。开发证书(iOS Development)用于开发和调试应用程序,可用于真机调试;生产证书用于打包上传 App Store,用于验证开发者身份

四、推送证书

如果项目中集成了推送功能,同样需要配置推送证书。推送证书同样也分两种:开发(Apple Development iOS Push Services)、生产(Apple Production iOS Push Services)。推送证书在 AppID 中创建生成,同时生成的的 p12 文件需要上传到服务端后台(友盟后台、极光后台或自己服务端后台)

五、配置文件(Provisioning Profiles)

配置文件同样也分两种,分为开发( Development )和发布( Distribution ),配置文件( Provisioning Profiles )中包含了证书、 App ID 、设备(Devices),后缀名为 .mobileprovision 。它在开发者账号体系中扮演着配置和验证的角色,是真机调试和打包上架必须的文件

  • 一个 Provisioning Profile 对应一个 Explicit App ID 或 Wildcard App ID
  • Provisioning Profile 决定 Xcode 用哪个证书(公钥)/私钥组合(Key Pair/Signing Identity)来签名应用程序( Signing Product ),将在应用程序打包时嵌入到 .ipa 包里
  • Provisioning Profile 把这些信息全部打包在一起,方便我们在调试和发布程序打包时使用。这样,只要在不同的情况下选择不同的 Provisioning Profile 文件就可以了
  • Provisioning Profile 也分为 DevelopmentDistribution 两类,有效期同 Certificate 一样。 Development 版本的 ProvisioningProfile 用于开发调试, Distribution 版本的 ProvisioningProfile 主要用于提交 App Store 审核,其不指定开发测试的 Devices

ps:打 Ad-hoc 包的时候,如果遇到刚添加的设备 UDID 没添加进去,可以将开发模式的配置文件下载下来,打包后直接选中即可

在配置证书之前我们需要有一个开发账号。个人账号和公司账号类似,每年都需要支付 99 刀,其中公司账号需要邓白氏编码而个人账号并不需要。

如果项目需要不通过 App Store 进行安装,可以申请企业账号。当然了,也可以找一些第三方直接打企业包,比如蒲公英之类的

六、创建 CSR 文件(证书请求文件)

CSR( Certificate signing request )即证书请求文件。证书申请者在申请数字证书时由 CSP(加密服务提供者) 在生成私钥的同时也生成证书请求文件(CSR 文件),证书申请者只要把 CSR 文件提交给证书颁发机构后(创建 App ID 时上传到苹果后台),证书颁发机构使用其根证书私钥签名生成证书公钥文件(开发者证书)

  • 关于 CSR 文件的创建,我们可以直接使用 Mac 上的钥匙串访问直接请求。

具体步骤为: 钥匙串访问 -> 钥匙串访问 -> 证书助理 -> 从证书颁发机构请求证书

1、打开电脑上的钥匙串访问,选中证书助理;

2、用户电子邮件地址填开发者账号的邮箱,名称可以随意填,然后保存到磁盘上。

3、Keychain 将生成一个包含开发者身份信息的 CSR(Certificate Signing Request)文件。同时,Keychain Access->Keys(密钥)中增加一对 Public/Private Key Pair

创建 App ID

1、登录苹果开发者中心,或者直接登录 Apple Member Center 选择 Certificates,Identifiers & Profiles

2、选择 Identifiers 中的 App IDs,然后点上方的加号;

3、添加 App ID Description 和 Bundle ID

  • 在“Explicit App ID”栏下的“Bundle ID”项中输入 App ID(反域名格式,如:com.company.test)
  • 这里“Bundle ID”对应 Xcode 中的“Bundle identifier” Explicit App ID:唯一的 App ID,用于唯一标识一个应用程序。例如“com.apple.garageband”这个 App ID,用于标识 Bundle Identifier 为“com.apple.garageband”的 App
  • Wildcard App ID:含有通配符的 App ID,用于标识一组应用程序。例如“”(实际上是 Application Identifier Prefix)表示所有应用程序;而“com.apple.”可以表示 Bundle Identifier 以“com.apple.”开头(苹果公司)的所有应用程序。
  • 在“App Services”栏下选择应用要使用到的服务(如要使用推送功能,勾选“Push Notifications”)
  • 点击 continue->点击 submit->点击 done,申请 App IDs 完成。点击 All IDs 可查看申请的 ID,点击该 ID
  • 点击 对应名称 可对该 App ID 进行编辑

七、创建开发者证书 和 推送证书

1、选择 Certificates,然后选择上方的加号;

2、选择相应的证书,因为开发调试证书、生产发布证书、开发环境推送证书、生产环境推送证书基本都类似,所以这里只选择开发调试证书为例。

3、一路点击 Continue, 到 Generate 后选择一开始生成的 CSR 文件上传,然后再继续点击 Continue

4、生成完开发调试、生成调试证书 和 开发环境推送证书、生成环境推送证书,可以在“Certificates”->“All”中查看该证书,并进行下载或删除

5、下载到桌面上,然后双击添加到钥匙串中,可在 Keychain Access->“证书”中查看

使用友盟,生成的推送证书(开发环境和生产环境)需要从钥匙串访问中导出 p12 文件,添加到友盟后台

八、推送证书

导出 p12 文件上传到友盟(极光)后台

1、由上一步创建了开发环境的推送证书和生成环境的推送证书,下载到电脑上后,直接双击即可安装到钥匙串中。

2、选中相应证书(开发环境推送证书或生成环境推送证书)右键 导出;

3、点击存储后需要输入密码,密码要记住,上传到友盟(极光)后台时,需要用到

创建配置文件(Provisioning Profiles)

1、选中 Provisioning Profiles 然后选中上方的加号。

2、配置文件也分为开发和发布,我们这里以 Ad Hoc 为例,因为我们打测试包的时候,如果有些设备的 UDID 未添加进配置文件中,我们需要下载配置文件手动选择。而其他的的配置文件目前的 Xcode 会自动请求,所以一般不需要我们自己手动创建

3、选择刚创建的 App ID,选择相应证书、选择测试的设备,然后创建名称一直点击 Continue 即可,最后下载下来


到此为止证书和配置文件之类的都创建完了~~

九、总结

  • 导出 p12 证书的时候需要密码,上传到友盟(极光)后台需要输入密码。
  • 开发和生成的推送证书创建成功后,到相应 App ID 下查看是否有,如果没有可以停段时间刷新下,或下载下来手动上传上去。
  • 新添加上的测试机的 UDID,打包的时候没打包上去,需要重新创建配置文件,下载后将本地的删除,然后双击。不过刚添加 UDID,重新创建配置文件后,我一般在打包的时候手动选择配置文件。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

樱娆

暂无简介

文章
评论
29 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文