正如我在图片中所解释的,我想快速创建Pod库,它具有用Objective-c编写的另一个Pod库依赖项。
现在我知道要快速使用Objective-C代码,我们需要桥文件,我也创建了它。但是当我将其设置为Pod的构建阶段时,出现此错误<unknown>:0: error: using bridging headers with framework targets is unsupported
我在互联网上得到提示,我应该将.h文件放入pod-umbrella.h文件中,但这也给了我错误 Include of non-modular header inside framework module 'DemoPod'
如果您想玩的话,这是我为您准备的demopod项目。
演示豆荚项目
编辑根据Ashsis的建议,我在DemoPod.modulemap中添加了以下代码
framework module AdaptiveCard {
umbrella header "/Users/jageen.shukla/Documents/Project/ai answer/DemoPod/Example/Pods/AdaptiveCards/AdaptiveCards.framework/Headers/ACFramework.h"
requires ios
export *
}
但是我仍然无法构建项目,因为它给目标项目中的错误提供了找不到模块“ AdaptiveCard”的错误。
我更改代码 DemoPod.modulemap
framework module DemoPod {
umbrella header "DemoPod-umbrella.h"
// Solution 2
framework module AdaptiveCard {
umbrella header "/Users/jageen.shukla/Downloads/DemoPod/Example/Pods/AdaptiveCards/AdaptiveCards.framework/Headers/ACFramework.h"
export *
module * { export * }
}
// ----
export *
module * { export * }
}
仅建议在App Target和App Test目标中使用桥接头,以快速访问目标c和CPP文件。当涉及静态库或框架时,应使用modulemap将Objc和CPP功能公开给swift库。请在此处检查代码实现如何使用modulemap:https : //github.com/ashislaha/Swift-ObjectiveC-Interoperability
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句