Swift框架消费者的可传递导入
假设我有一个框架,它定义了一个协议,该协议依赖于第三个框架导出的符号:Swift框架消费者的可传递导入,swift,Swift,假设我有一个框架,它定义了一个协议,该协议依赖于第三个框架导出的符号: 导入核心位置 公共协议BarsAPIClient{ func getbar(位置周围:CLLocation,完成:@escaping(Result)->Void) } 现在,在我的应用程序中,我想添加协议的具体实现: import MyFramework class BarsAPIClientImpl: BarsAPIClient { func getBars(around location: CLLocatio
导入核心位置
公共协议BarsAPIClient{
func getbar(位置周围:CLLocation,完成:@escaping(Result)->Void)
}
现在,在我的应用程序中,我想添加协议的具体实现:
import MyFramework
class BarsAPIClientImpl: BarsAPIClient {
func getBars(around location: CLLocation, completion: @escaping (Result<[String], Error>) -> Void) {
// actual implementation goes here
}
}
导入MyFramework
类BarsAPIClientImpl:BarsAPIClient{
func getbar(位置周围:CLLocation,完成:@escaping(Result)->Void){
//实际实现在这里
}
}
但是,由于CLLocation
不可见,上述代码将无法编译:
我还可以通过导入CoreLocation
轻松解决这个特定错误。但是,对于具有多个依赖项的更复杂的情况,这可能会变得单调乏味
所以,问题是,模块是否可以声明其所有公共依赖项,以便该模块的使用者自动链接到这些依赖项?目前有两种方法可以做到这一点
MyFramework
中的swift文件中
@\u导出导入核心位置
MyFramework
中创建MyFramework.h
公共伞头
#import <CoreLocation/CoreLocation.h>
#导入
您是否尝试过:@iOSArchitect.com这个问题看起来像是关于合并多个框架的问题,不幸的是,这对我的情况没有帮助。