项目版本
- Expo SDK版本:44
- React Native版本:0.64.4
- React版本:17.0.1
eas.json文件简单介绍
eas.json 文件用于配置 Expo Application Services (EAS) 平台的构建、提交和预览功能,帮助你在本地或远程构建、部署和测试 iOS 和 Android 应用程序,你可以无需搭建本地开发环境,直接使用命令行执行远程云打包生成APK或者IPA文件,具体配置说明参考官网
云打包
如未安装eas cli,可通过以下命令安装:
npm install -g eas-cli
然后再项目根目录下执行eas build命令,其他使用方式可参考官网
eas build --platform ios
查看是否已成功进入打包进程:
出现Waiting for build to complete. You can press Ctrl+C to exit. 说明已成功进入打包流程。
点击打开上面图示Build details的链接,跳到expo build打包后台页面
报错问题
问题一:Expo SDK版本过低不满足云服务默认的构建环境
字面意思是当前项目的expo SDK版本过低不满足云服务的构建环境。
首先查看云服务默认的构建环境:
默认用的是最新版本macos-monterey-12.6-xcode-14.1
解决:修改本地项目根目录下eas.json配置文件
ios配置对象增加image字段配置:
"image": "macos-monterey-12.3-xcode-13.3"
下面是我本地eas.json完整的配置文件,仅供参考(Android使用默认生成的配置)
{
"cli": {
"version": ">= 3.9.1"
},
"build": {
"development": {
"distribution": "internal",
"android": {
"gradleCommand": ":app:assembleDebug"
},
"ios": {
"image": "macos-monterey-12.3-xcode-13.3",
"buildConfiguration": "Debug",
"resourceClass": "m-medium"
}
},
"preview": {
"distribution": "internal",
"ios": {
"image": "macos-monterey-12.3-xcode-13.3",
"resourceClass": "m-medium"
}
},
"production": {
"ios": {
"image": "macos-monterey-12.3-xcode-13.3",
"resourceClass": "m-medium"
}
}
},
"submit": {
"production": {}
}
}
然后回到项目根目录下再次执行打包命令:
eas build --platform ios
查看云打包后台日志是否已配置成功:
问题二:某些库或框架未启用 Bitcode
未完待续...