提问人:Wei Wen 提问时间:7/19/2022 更新时间:7/26/2022 访问量:1756
如何为原生 android 和 iOS SDK 创建 react native wrappers
How to create react native wrappers for native android and iOS SDKs
问:
我正在创建一个 React Native 模块作为现有 Android 和 iOS 库的包装器。Android 库是一个 jar 文件,iOS 库是 xcframework 文件。我将 xcframework 文件放在 ios 文件夹中,将 jar 文件放在 android/libs 文件夹中(我创建了 libs 文件夹)。我首先通过在项目级别的 podspec 文件中添加 s.preserve_path、s.xcconfig 和 s.vendored_framework 来尝试 iOS 库。我不确定我是否需要对 pod spec 文件做任何事情,例如运行它。因此,我只是通过尝试将库的 .h 导入 .m 文件中来执行下一步。我尝试使用尖括号<>和引号“”。但是没有一个奏效,因为触发“react-native run-is”给了我这个错误:致命错误:找不到文件。非常感谢有关如何在 react native 中包含库的任何帮助。
答:
要创建 react native 包装器或节点模块,您需要使用以下库。
https://www.npmjs.com/package/react-native-create-library
https://github.com/brodybits/create-react-native-module
使用此库,您可以创建空的 react native module 项目,然后您可以将本机代码 ARR 或框架文件绑定到该项目中。
评论
我能够通过执行以下两个步骤来修复错误:
在项目级别 .podspec 文件中将“s.vendored_framework”更改为“s.vendored_frameworks”。我原来的是单数(框架),而不是复数(框架)。
cd iOS & & pod 安装 && cd ..
第 2 步可以在 create-react-native-module 的 GitHub 链接中找到: https://github.com/brodybits/create-react-native-module
在发布问题时,我错过了第二步。我当时想,如果我运行“react-native run-ios”,它将运行“pod install”。
评论