5

我有一个 Swift 框架,可以在 Swift 项目中完美运行。现在我正在尝试在 Objective-C 项目中使用它。

Iv'e 将类更改为如下所示:

@objc public class Test : NSObject {}

我将框架导入到 Objective-C 项目中,将其添加到Embedded BinariesLinked Frameworks and Libraries中。

在 ViewController.m 中,我像这样导入了框架:

#import <SwiftFramework/SwiftFramework-Swift.h>

我尝试创建类型为 Test 的实例:

Test* test = [[Test alloc] init];

测试是公认的,但是当我尝试将它构建到 iPhone 时它​​失败了,原因是:

Undefined symbols for architecture arm64: "_OBJC_CLASS_$__TtC14SwiftFramework4Test", referenced from:

如果我将它构建到模拟器上,它会失败,原因是:

Undefined symbols for architecture i386: "_OBJC_CLASS_$__TtC14SwiftFramework4Test", referenced from:

我尝试将i386arm64添加到Valid Architectures

我试图将Build Active Architecture Only更改为No

我找到了很多没有帮助我解决问题的解决方案。

我会很感激任何帮助,谢谢。

解决了:

构建设置 -> 构建设置 -> 始终嵌入 Swift 标准库 -> 是

我更新了框架和 Objective-C 项目。

4

0 回答 0