已有swift项目本地引入React Native的bundle文件并加载

已有项目中使用RN时,为了用户体验某些功能要求可直接从本地加载,而不是还要等待从网上下载。那怎样把bundle文件放到项目中是个问题,因为一不小心本地图片读取不到,就加载不出来了

  • 打包bundle代码:
react-native bundle --entry-file index.ios.js --platform ios --dev false --bundle-output ./test/ios/bundle/index.ios.jsbundle --assets-dest ./test/ios/bundle
bundle打包结构.png
  • 首先:assets及index.ios.jsbundle,index.ios.jsbundle.meta和appdelegate同级
  • 其次:红框圈住的三个文件同时拖拽进来,options选择 Create folder refrences,切记不要选groups,不要选groups,不要选groups,重要的事情说三遍。添加后结构类似下图,可以看到下图文件夹是蓝色的,不是黄色的,注意区分蓝色和黄色的区别。


    添加bundle文件结构.png

    最后加载:

获取url:
let url = NSBundle.mainBundle().URLForResource("index.ios", withExtension: "jsbundle")
获取path: 
let path = NSBundle.mainBundle().pathForResource("index.ios", ofType: "jsbundle")
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容