一、iOS打包
1、RN环境配置:
# 进入项目目录
cd AwesomeProject
将命令添加进项目的package.json文件的scripts字段中
"scripts": {
"bundle-ios": "react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/bundle/main.jsbundle --assets-dest ios/bundle"
}
参数说明:
--entry-file ios或者android入口的js名称,比如index.js
--platform平台名称(ios或者android)
--dev设置为false的时候将会对JavaScript代码进行优化处理。
-- -output 生成的jsbundle文件的名称,比如./ios/bundle/main.jsbundle
--assets-dest图片以及其他资源存放的目录,比如./iOS/bundle
配置完成后
cd ios //进入当前项目文件,进入ios文件夹
mkdir bundle //创建bundle文件夹
打包直接运行npm run bundle-ios
2、Xcode打包
打开iOS工程文件
新增bundle到iOS项目ZLDemo中
选中Xcode项目,鼠标右键选中Add Files to "ZLDemo"添加bundle。
完成后基本所有配置都完成了,之后就是进行iOS在Xcode中配置。
1.1、证书配置
1.2、release配置
1.3、正常Xcode打包流程
1.4、发包自测
备注Xcode打包有问题可以留言一起解决。
问题一、
问题二、ld: library not found for -lCocoaAsyncSocket
问题三、ENOENT: no such file or directory open ./ios/bundle/index.ios.jsbundle
缺少 bundle文件,新建。
cd ios //进入当前项目文件,进入ios文件夹
eg:cd /Users/apple/Desktop/ZLDemo/ZLDemo/ios
mkdir bundle //创建bundle文件夹
cd .. //进入上一文件夹(当前项目文件夹)
配置好package.json文件,具体见上边
npm run bundle-ios
react-native bundle --entry-file index.ios.js --bundle-output ./ios/bundle/index.ios.jsbundle --platform ios --assets-dest ./ios/bundle --dev false
二、Android打包
后期更新
网友评论