我正在尝试导入EZAudio到我的 Swift 项目。由于我的项目是用 Swift 编写的,因此我使用桥接 header 来导入它。因此我复制了this文件夹到我的项目,并将每个文件单独添加到桥接头文件中。例如:
#import "EZAudioPlayer.h"
当我尝试编译时遇到解析问题。
我已经通过转到“build设置”并检查“Swift 编译器”部分下此文件的路径是否正确来检查 Xcode 是否看到了桥接头文件。
一些截图:
最佳答案
我快速检查了“AZAudio.h”,我可以说问题出在所有 Objective-C 文件中都存在的循环引用。
编写#import "EZAudioPlayer.h"
将导入“AZAudio.h”,其中包含原始的“EZAudioPlayer.h”,创建 Swift 不喜欢的循环 header 引用。
这里有两个潜在的解决方案:
- 使用 Cocoapods 或 Carthage
- 编辑所有 header 以避免循环引用,在每个 Header(.h) 文件中使用
@class
指令并将#import
宏移动到实现文件 ( .m)。
关于objective-c - 将 obj-c 库导入到 swift 会导致解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29535199/