0

我刚刚在 swift 中创建了一个框架,它在 swift 项目中运行良好,但在目标 c 中我遇到了类似Undefined symbols for architecture armv7:. 我刚刚检查了可用的架构lipo -info,它显示了模拟器和设备架构。我也提到了这个链接,但没有用还附上图。 我会很感激任何帮助,谢谢。

4

2 回答 2

1

下面是您的框架中的待办事项列表。

Objective C 类中的 Swift 类使用

  • 在 Swift 中的类名前使用 Open Keyword
  • 在 Swift 类的 Open Keyword 之前使用 @objc 关键字
  • 在 Umbrella 文件 YourProject.h 中导入所有使用 Swift 类的目标 c 类的标头。
  • 在Objective c中使用#import

我遵循 Apple Mix and Match 方法。希望这会有所帮助。谢谢

于 2018-12-10T07:37:47.737 回答
0

要访问 objc 中的 swift 类,它不是从 NSObject 继承的,您需要:

@objc 公共类 yourUtils

必须使用 @objc 属性标记 Swift 类或协议才能在 Objective-C 中访问和使用。这个属性告诉编译器这段 Swift 代码可以从 Objective-C 访问。如果您的 Swift 类是 Objective-C 类的后代,编译器会自动为您添加 @objc 属性。

https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html

于 2018-12-10T07:36:01.050 回答