我想在我的目标-C IOS应用程序中使用Swift库。我将Swift库设置作为一个单独的项目,它在XCode中构建得很好。我可以将生成的Swift框架从Swift项目拖到我的目标-C项目目标的“框架、库和嵌入式内容”列表中。它以"Embed & Sign“标签出现。
苹果在这里的描述:https://developer.apple.com/documentation/swift/importing-swift-into-objective-c声明
您可以通过导入Xcode生成的头文件来处理在Swift中从项目中的Objective代码中声明的类型。这个文件是一个Objective头,它声明了目标中的Swift接口,您可以把它看作是Swift代码的伞头。您不需要做任何特殊的事情来创建生成的标题--只需导入它以在目标C代码中使用它的内容。
当我查看快速.framework文件中时,我可以看到那里的头文件。但是,当我将它导入到目标-c .m文件中时,编译器会说找不到该文件。我都试过了
#import "Starscream-Swift.h"和
#import <Starscream/Starscream-Swift.h>语法。
如何说服XCode使用Swift框架中的头文件?我需要在某个地方复制那个标题吗?我还需要考虑使用目标c IOS应用中的Swift库吗?
我使用的是XCode版本13.4.1。顺便说一句,我尝试使用的Swift库是星流。
发布于 2022-08-04 17:11:54
当您自己的项目有Objective和Swift类混合时,需要Xcode生成的头文件。在处理框架时,您可以像这样包括框架的伞形标题:
#import "SwiftFramework/SwiftFramework.h"或者,更好的是,您可以使用@import表达式导入它:
@import SwiftFramework;请注意,只有公开到Objective运行时的部分可以从此框架访问(即从NSObject或其他Cocoa类继承的公共/开放类)。
https://stackoverflow.com/questions/73236807
复制相似问题