将Objective-c框架导入Swift框架项目

Kri*_*rma 13 objective-c ibeacon swift beacon

我正在构建一个框架,我需要导入一些objective-c框架,现在我需要导入"Beaconstac.framework",但因为我们无法在swift框架项目中添加桥接头,所以我的问题是如何使用它我的项目中的框架在我试过的项目中无法直接访问

进口Beaconstac

但它给出错误"没有这样的模块"

有没有替代方法呢?

小智 14

在swift框架项目中包含现有Obj C框架的步骤

假设我们正在swift中创建一个"SwiftProj.framework"项目,内部必须使用Objective C"ObjC.framework"

  1. 将ObjC.framework放在Frameworks文件夹中,通过Linked Frameworks和Libs链接到Swift框架项目,并在同一级别创建module.modulemap文件.
  2. 在module.modulemap中

    __CODE__

  3. 创建xcconfig文件(文件 - >新建 - > iOS->其他 - >配置设置文件)

  4. 在xcconfig文件中 __CODE__

现在您可以在SwiftProj.framework中访问ObjC.ClassA

  • @girish,我试过这个,但没有工作.你是怎么做到的?你能不能给我一些我需要小心的提示?另外,当你创建`.xcconfig`文件时,你是否在任何地方设置了配置路径?感谢您的帮助. (2认同)
  • @Atul,在哪里放置xcconfig文件?项目如何识别xcconfig文件?你能提供一些关于它的更多细节吗? (2认同)

小智 2

您需要在伞标头中导入 Beaconstac 框架。也就是说,如果您通常#import <Beaconstac/Beaconstac.h>在 Obj-C 桥接标头中使用框架,则需要将其放入伞标头中。

有关详细信息,请参阅 Apple 文档中的本章:

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#//apple_ref/doc/uid/TP40014216-CH10-ID130

  • 它给我错误“在框架模块内包含非模块化标头” (5认同)
  • @KrishnaVerma 你是怎么解决这个问题的? (2认同)