xcode打包react-native项目

最近做了人生中的第一个APP,从什么都不懂,一点点磕磕绊绊的把功能写完,走到打包部署,小小的激动一下,顺道总结一下打包遇到的相关问题。

开发环境(version)

ios系统: 10.15.5
xcode:12.0
node: 12.18.0
CocoaPods: 1.9.3
react: 16.11.0
react-native: 0.61.2

开发者账户证书配置

至于账户的创建什么的,直接用developer APP下载注册,提交审核,付费就可以了,相关的文章网上很多,不再赘述了。我们主要来看一下怎么制作开发者证书及配置,具体操作如下:

1. 登录苹果开发者官网:https://developer.apple.com,点击顶部导航栏下的account进行登录。
2. 选择“Certificates, Identifiers & Profiles”,进入证书配置界面。
3. 创建Identifiers,定义APP的包名。

* 首选菜单“Identifiers”,点击添加图标
* 选择“App IDs”,点击Continue 
* 选择App,点击Continue
* 描述随便取,Bundle ID选Explicit,然后取一个恰当的全球唯一的包名,比如com.fuckme.soft;
  下面Capabilities要勾选Push Notifications,这是为了实现消息推送,点击Continue
* 确认页面,点击Continue 
* 最后点击Register,完成创建

4. 创建Certificates,制作云编译p12证书文件。

* 先找一台mac电脑,macbook、imac都可以,ipad行不行我没试过。
* 打开应用程序 -> 实用工具 -> 钥匙串访问,在顶部工具栏,选择 钥匙串访问 -> 证书助理 -> 从证书颁发机构请求证书... 
* 在证书助理弹窗上,填写你的邮件地址,常用名词,选择存储到磁盘,然后点击 继续,然后把文件存储在电脑上。 
* 找到这个文件,名词应该是:CertificateSigningRequest.certSigningRequest 
* 回到苹果开发者后台,选择菜单“Certificates”,点击添加图标
* 在Software组选择,iOS Distribution (App Store and Ad Hoc),点击Continue
* Choose File,选择刚刚在mac电脑上生成的那个本地证书文件,点击Continue 
* 来到证书下载界面,点击Download,下载的文件名词应该是:ios_distribution.cer 
* 在mac电脑上,双击ios_distribution.cer,将其安装到钥匙串,若弹出安装提示,选择安装到“登录” 
* 在mac电脑里的钥匙串中,在左边选择“登录”和“我的证书”,找到证书。
* 若证书状态正常,在证书上面点击鼠标右键,选择导出,在弹窗上填写证书名称,假如就叫ios_distribution,点击存储,
  再新弹窗上输入密码,点击 好,就生成了p12格式证书
* 把这个ios_distribution.p12文件和刚刚设置的密码记好

5. 创建Profiles,制作云编译mobileprovision发布类证书制作

* 回到苹果开发者后台,选择菜单“Profiles”,点击添加图标
* 在Distribution组选择,App Store,点击Continue
* 选择之前创建的App ID,点击Continue 
* 选择之前创建的Certificates,点击Continue
* 填写一个描述文件名称,点击Generate,完成创建 
* 下载描述文件,文件的名称应该是:xxxx_Distribution.mobileprovision

6. 创建Profiles,制作云编译mobileprovision测试类证书制作

* 先选择菜单“Devices”,点击添加图标 
* 把公司要用到的用来测试的iPhone的UDID都录入进去。不知道自己iPhone的UDID?打开Safari浏览器,在百度里搜索下:UDID获取,肯定有在线服务直接获取本手机的UDID
* 选择菜单“Profiles”,点击添加图标
* 在Distribution组选择,Ad Hoc,点击Continue 
* 选择之前创建的App ID,点击Continue
* 选择之前创建的Certificates,点击Continue 
* 选择之前添加的测试设备,点击Continue
* 填写一个描述文件名称,点击Generate,完成创建 
* 下载描述文件,文件的名称应该是:xxxx_AdHoc.mobileprovision

7. 创建Certificates,制作消息推送p12证书文件

* 选择菜单“Certificates”,点击添加图标
* 在Services组选择,Apple Push Notification service SSL (Sandbox & Production),点击Continue 
* 选择对应的App ID,点击Continue
* Choose File,选择刚刚在mac电脑上生成的那个本地证书文件CertificateSigningRequest.certSigningRequest,点击Continue
* 来到证书下载界面,点击Download,下载的文件名词应该是:aps.cer 
* 参考上面第4点,把aps.cer制作成p12格式,并记住设置的密码,形成aps.p12文件

8. 制作完所有证书后,打开mac本地钥匙串,左上角菜单栏的钥匙串访问 ==》 证书助力 ==》 从证书颁发机构请求证书

9. 里边的邮箱都填写app id,也就是开发者账号,常用名称自定义

xcode打包

在打包上传之前,要确认以下几点:

  1. 在App Store Connect下的APP中提前创建自己的APP应用,不然后期上传时会提示:App Store Connect Operation Error No suitable application records were found等错误信息,导致上传失败。填写内容可参考:https://www.jianshu.com/p/1c9...
  2. 打包之前,必须在项目根目录下运行npm run bundle-ios,以确保所有本地静态资源(js、图片等)进行了编译,且在xcode中有正确引入,可参考:https://www.jianshu.com/p/ce7...

具体打包步骤:

  1. Product ==> Scheme ==> Editor Scheme ==> Run中的Build Configration修改成release状态,这样打包出来体积会小很多很多
  2. Product ==> Archive(开始漫长的打包等待吧)
  3. 打包结束后会弹出来打包版本记录列表,点击右侧Distribute App,按自己需求选择,然后下一步
    xcode打包react-native项目_第1张图片
  4. 选择上传或者导出,点击下一步,然后选择开发者中心创建的对应的证书,继续下一步,等运行完后,直接选择界面上的upload上传就ok啦

参考文章:
https://www.jianshu.com/p/e0c...
https://blog.csdn.net/u014599...
https://www.jianshu.com/p/586...

你可能感兴趣的:(react-native,app开发,ios)