默认创建的使用Swift语言编写的framework是没有头文件的,如果另一个使用Objective-C语言编写的target想用引入swift framework,则需要在swift framework的工程上打开一些配置
同时使用public 和 @objc标记
要给Objective-C暴露swift编写的api,则需要使用public 和 @objc标记
@objc public class MySwiftClass: NSObject {
@objc public func doSomething() {
print("Doing something in Swift")
}
}
生成 Objective-C 兼容头文件
Swift Framework 的 Build Settings 中:
- Defines Module 设置为 YES。
- Install Generated Header 设置为 YES。
这会生成一个 FrameworkName-Swift.h 头文件,包含 Swift 代码的 Objective-C 接口。
在 Objective-C 项目中导入导入 Swift Framework 的头文件
#import <FrameworkName/FrameworkName-Swift.h>
MySwiftClass *swiftObject = [[MySwiftClass alloc] init];
[swiftObject doSomething];
发表回复
要发表评论,您必须先登录。