异常上报
新版本的 Sentry 配置
目前新版本是
1 | "@sentry/cli": "^1.59.0", |
最新的 Sentry 只需要运行一下命令
1 | npx @sentry/wizard -i reactNative -p ios |
为了 Debug 模式不上传 Sentry,防止浪费时间和资源,可以对 Bundle React Native code and images
任务改造为
1 | export NODE_BINARY=node |
对 Upload Debug Symbols to Sentry
勾选 Fot install builds only
即可
老版本的 Sentry 配置
以下是老的配置,不需要再看了
需要根据指引对 Xcode 工程进行配置,除此之外,还针对 Debug 模式不上传 Sentry,防止浪费时间和资源
生成 sourcemap 文件
1 | export NODE_BINARY=node |
上传 Debug 符号到 Sentry 平台
1 | # Type a script or drag a script file from your workspace to insert its path. |
用户反馈
日活统计
隐私协议
AppStore 截图
App Icon 生成
icon 素材
react-native-vector-icons 优点是占用体积小,缺点是图标有限
最新的 Xcode 安装 react-native-vector-icons 后,每次 pod install 之后都会编译出错,原因是资源重复导入,因此写了以下脚本进行删除
RN 的根目录运行即可
1 | cd ios |
配色创意
- 颜色表
- 色采 App
热更新
安装
1 | # 安装 |
客户端需要修改的地方
App 新接入
- 到 https://appcenter.ms/apps 新增一个 App
命令行设置当前 App
1
2
3
4
5
6
7
8
9
10# 列出所有 app,确认新增的 App 生效
appcenter apps list
# 设置/切换当前 App
appcenter apps set-current Nx/iRead
# 列出当前 app,确认切换生效
appcenter apps show
# 新增 Release 模式
appcenter codepush deployment add Release
# 获取 CODEPUSH_KEY
appcenter codepush deployment list -k【iOS】修改 AppDelegate,详情请参考官方文档
【iOS】Info.plist 新增 CodePushDeploymentKey,值为第二步获取到的 CODEPUSH_KEY
注意:测试 CodePush 必须不能是 Debug 模式编译出来的 App,Debug 模式默认都会走本地 Server
热更新步骤
确认当前生效的 App
1
2
3
4# 列出所有 app,确认新增的 App 生效
appcenter apps list
# 如果 App 不对则需要切换 App
appcenter apps set-current YourAppName确认当前生效的 JS 版本
1
2# 列出生效的 JS 包
appcenter codepush deployment list发布新版本
1
2# 发布
appcenter codepush release-react -d Release -t "1.0.0" --description "Message"注意这里的版本号是 Native App 的版本号,每次热修复的时候都需要注意这个值
注意如果要覆盖 >=2.0.0 < 3.0.0 的版本,请不要使用 “~2.0.0”,覆盖不到 2.1.0,应该使用 “>=2.0.0”
版本区间:如果要配置 [2.5.0, 2.5.2] 的版本区间,请到 CodePush 后台,写上 “>=2.5.0 <=2.5.2” 即可,注意中间是有空格的
你可以使用 -m 表示 Mandatory,强制更新,表示越快越好
附录
1 | # 列出生效的 JS 包的 Key(不常用) |
Universal Link
发布 AppStore
Archive 失败
正常编译真机能通过,但是 Archive 提示 library not found for -lBVLinearGradient
,原因是 podfile 写的是最低系统版本是 iOS13,而 Xcode 中是 iOS10,而 Archive 是全部平台编译,所以就会导致编译 iOS10 的时候找不到对应的库。修改方法就是让这两处写法保持一致即可
每次 Archive 记得先修改 Build 号
AppStore 页面设置多语言
方法 1:直接设置 CFBundleDevelopmentRegion 的值为 zh_CN
和 en_US
方法 2:添加 lproj 文件