【问题标题】:How to create a React-Native framework using Swift如何使用 Swift 创建 React-Native 框架
【发布时间】:2017-03-03 04:21:30
【问题描述】:

我有一个用 Swift 编写的 react native 组件,我想将它提取为一个框架,以便其他项目/人员可以轻松使用它。

首先我创建了一个新的iOS项目Foo,添加了一个框架目标, 然后添加源文件。最后,我构建了它。

失败是因为:

Bar.swift:[lineNumber]: 使用未解析的标识符“RCTConvert” RNBarManager.swift:[lineNUMber]: 使用未声明的类型'RCTViewManager'

尝试 1:

我跑了react-native link,但没有任何改变。

尝试 2:

  1. React.xcodeproj拖到Foo项目并将libReact.a添加到Link Binary With Libraries
  2. $(SRCROOT)/../node_modules/react-native/React 添加到Header Search Paths

但它不起作用。错误仍然存​​在。

尝试 3:

我在想也许 Swift 无法识别这些文件。

所以我添加了Foo-Bridging-Headers.h,就像我在 React-Native App 中所做的那样,其中包含以下代码:

#import "React/RCTBridge.h"
#import "React/RCTViewManager.h"
#import "React/RCTUIManager.h"
#import "React/UIView+React.h"
#import "React/RCTBridgeModule.h"

我还添加了Foo-Bridging-Headers.hBuild Settings->Swift Compiler - General->Object-C Bridging Header

我还是遇到了错误。

不支持将桥接头与框架目标一起使用

这里似乎不允许使用桥接头。

尝试 4:

我尝试将这些导入添加到Foo.h

但又报错了。

Foo.h:21:9:在框架模块“Foo”中包含非模块化标头

如何编译成功?

【问题讨论】:

标签: swift react-native


【解决方案1】:

这似乎是将 React 链接到您的项目所需的可可豆荚的问题。

尝试使用终端在您的项目目录中运行pod install,然后尝试构建。

【讨论】:

    【解决方案2】:

    链接发生在托管应用程序中,而不是您创建的框架中。那只需要标题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-22
      • 1970-01-01
      相关资源
      最近更新 更多