RN_iOS项目编译注意事项

ios项目编译注意事项

打包脚本(buildRNiOSBunble.sh)

export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
#rn分支的名字
rnfilename="bjy_rn"
#原生分支的名字
nativefilename="bjy_ios"
# .xcworkspace的名字
workspace_name="ZYWXOnlineSchool"

步骤

1 编译RN代码

  • bjy_rnreactnative分支和bjy_ios原生分支放在同级目录下,进入bjy_rn目录
  • 更新最新rn代码
  • 编译rn代码
  • node_modules引入
  • yarn install

2 生成.jsbundle文件

react-native bundle --entry-file index.js --bundle-output …/bjy_ios/ w o r k s p a c e n a m e / {workspace_name}/ workspacename/{workspace_name}/RNBundle/main.jsbundle --platform ios --assets-dest …/bjy_ios/ w o r k s p a c e n a m e / {workspace_name}/ workspacename/{workspace_name}/RNBundle --dev false

3 调试脚本

  • 安装yarn工具
  • cd 到bjy_ios目录
  • node_modules引入及其pod安装

yarn install
pod install --verbose --no-repo-update

  • 开启本地服务

yarn start

4 debug模拟器联调

代码里搜索sourceURLForBridge 修改为下面

  • (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
    {
    return [NSURL URLWithString:@“http://localhost:8081/index.bundle?platform=ios”];
    }

5 真机联调

⚠️手机、Mac在同一个wifi下面把localhost修改为当前wifi的ip地址)
代码里搜索sourceURLForBridge 修改为下面

  • (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
    {
    return [NSURL URLWithString:@“http://ip.host:8081/index.bundle?platform=ios”];
    }

真机联调参考链接:https://reactnative.cn/docs/running-on-device

6 reload页面

reload stop dismiss等

猜你喜欢

转载自blog.csdn.net/ancientear/article/details/130744591