ios - React Native - 具有原生组件依赖的自定义原生组件模块
问题描述
我们有一个在多个项目中使用的原生 iOS 视图 (ViewA)。这通过使用 RCT_EXTERN_MODULE 和 RCTViewManager 创建一个原生模块 (ProjectA) 暴露给 React Native。这被打包到一个工件中,并在项目(AppProject)中使用时作为 React Native 依赖项引入。
现在,我们正在尝试创建另一个与 ViewA 非常相似的原生 iOS 视图 (ViewB),但增加了功能。目标是将 ViewB 公开为它自己的模块 (ProjectB)。我正在尝试创建从 ViewA 类继承的 ViewB,然后向 ViewB 添加一个快速扩展以添加功能,并通过 RCT_EXTERN_MODULE 将其公开给 React Native。仅供参考,这两个项目都是使用 react-native-builder-bob 创建的。
我在 ProjectB 中添加了 ProjectA 作为 devDependency,做了 yarn,做了 pod install,但是,在 Xcode 中我无法处理 ViewA swift 类。ProjectB 没有任何 pod。如果我确实为 ProjectB 添加了一个 podfile 并将 ProjectA 作为 pod 依赖项,那么 AppProject 将抛出“架构 x86_64 的重复符号”错误。我试图在不复制依赖项和产生问题的情况下做到这一点。我在这里缺少什么吗?
非常感谢任何建议/指针。
解决方案
推荐阅读
- .net - Amazon Transcribe Streaming Service Speech to text for .NET SDK
- php - 如果存在,从 URL 中去除 fbclid
- graphql - GraphQL:传递执行的根值规范是什么?
- php - 为 php 响应式网站选择输入 onChange 事件在 Firefox 浏览器中不起作用
- reactjs - Fabric-ui-react GroupedList 组件如何在恢复每个组的折叠状态的同时动态添加项目?
- sql - 按模式返回具有逗号分隔值的行 (Oracle SQL)
- javascript - 仅在第二次操作后添加 animate.css 动画工作
- php - 如果一个条件不存在则返回值 mysql
- node.js - nginx proxy_pass 不适用于 nodejs 服务器
- ios - 不推荐使用 initWithReceiverApplicationID 使用 initWithDiscoveryCriteria 警告 Chromecast