Mar*_*ina 9 xcode static-libraries reactjs swift react-native
我创建了一个库,它使用本机导航控制器来浏览反应和本机屏幕.该库是用Swift编写的,包含一些Objective-c代码来设置React桥等.目前我可以通过CocoaPods通过创建podspec并在那里定义React依赖来分发这个库.但是,这也迫使用户通过CocoaPods在他们的项目中设置React(如下所示:https://facebook.github.io/react-native/docs/integration-with-existing-apps.html ).我希望他们也使用react-native link或手动链接选项(如:https://medium.com/@joshyhargreaves/adding-react-native-to-existing-ios-project-without-cocoapods-6f1ee9106009).
如果我理解正确,我可以创建一个静态库并分发它.到目前为止,我创建了这个静态库,添加了我的混合swift和objective-c代码,并尝试手动将其链接到我的主项目中.但是这会在我的静态库中的一个类中产生错误,我会像这样导入React import React.错误是"No such module 'React'.
我更新了静态库的标头搜索路径以包含:
$(SRCROOT)/../react-native/React
和
$(SRCROOT)/../React
(react-native,React和我自己的lib都在node_modules文件夹中)
两者都设置为递归.不幸的是它仍然没有找到React模块.有谁知道如何使用React创建包含依赖性的静态库?
最终目标是在我的主项目中导入这个静态库,就像import MyStaticNaivationLib我的一个viewcontrollers和子类中的静态库中定义的类一样.
我的主项目也使用https://github.com/rebeccahughes/react-native-device-info.这看起来正是我想要实现的目标.它是一个静态库,它与React("import RCTBridgeModule.h")具有可靠性,我可以在我的主项目中手动链接.唯一的区别是该项目不包含Swift代码.
小智 1
我为公司写了一个自定义模块,你可以查看我的文档。这个自定义模块有内部框架,我将该框架链接到主项目。在你的custom_modulem中你有package.json吗?
"peerDependencies": {
"react": "16.8.3",
"react-native": "0.59.4"
}
Run Code Online (Sandbox Code Playgroud)
https://github.com/Hardy1207/RNOkay
| 归档时间: |
|
| 查看次数: |
591 次 |
| 最近记录: |