【发布时间】:2017-09-15 05:10:27
【问题描述】:
我最喜欢 React Native。自 0.22 以来一直在使用它。目前为 0.35。
但是为什么链接原生库就像抽奖一样?我很少在第一次拍摄时让它发挥作用,而破裂的东西通常是完全不同的东西。
每个 RN 升级都是一个皮塔饼。这是我通常做的:
- npm i react-native@0.35
-
react-native upgrade(在替换文件的每个问题上回答是) - 在 info.plist 中插入我的东西(它已被替换..)
- 重新安装 pod
- 重新链接所有原生模块
- 屏住呼吸试试
react-native run-ios
大多数情况下上述方法不起作用。但是当我从 XCode 中编译应用程序时它确实有效。
从这里到工作run-ios 的旅程通常是漫长而令人沮丧的。涉及以下内容:
- 用
react-native unlink xyz取消链接所有本机模块 - 手动删除取消链接未删除的标头搜索路径
rm -rf node_modulesyarn- XCode 中的产品/清洁
- 安装 pod
- 链接原生模块
有时上述方法有效。大多数情况下它不起作用。当我从react-native run-ios 运行时,通常一些本机模块最终会出现在构建错误部分。像往常一样从 XCode 运行。
最终出现在错误部分的本机模块每次都不相同。我也有一些带有 RN 错误的本机模块“发货”。 (RCTGeolocation, RCTActionSheet, RCTWebSocket)
解决方案的下一个“级别”(当我无法获得上述解决方案时)是这样的:
react-native init nextAppAttempt- 将代码、资产、.babelrc 等复制到新文件夹中
yarn- 链接所有模块
- 安装 pod
我在上述方面取得了一些成功,但我有将应用程序重命名为真实名称并重新连接到我的 GitHub 存储库的皮塔。
这是我要链接的本机模块:
react-native link react-native-fs && \
react-native link react-native-camera && \
react-native link react-native-code-push \
react-native link react-native-permissions && \
react-native link react-native-image-resizer && \
react-native link react-native-mixpanel && \
react-native link react-native-maps && \
react-native link react-native-svg &&
这是怎么回事?
这对其他人有用吗?
我的流程是否存在缺陷? (希望如此)
【问题讨论】:
-
不完全相关,但我会确认我总是需要运行
react-native run-ios多次,然后“No bundle url present”错误消失。 -
天哪,谁能给我看看这里的灯。真正令人讨厌的问题
标签: react-native