假设我有一个框架定义了一个协议,该协议取决于第三个框架导出的符号:
import CoreLocation
public protocol BarsAPIClient {
func getBars(around location: CLLocation, completion: @escaping (Result<[String], Error>) -> Void)
}
现在,在我的应用程序中,我想添加协议的具体实现:
import MyFramework
class BarsAPIClientImpl: BarsAPIClient {
func getBars(around location: CLLocation, completion: @escaping (Result<[String], Error>) -> Void) {
// actual implementation goes here
}
}
但是,以上代码由于CLLocation
不可见而无法编译:
我也可以通过导入轻松解决此特定错误CoreLocation
。但是,对于具有多个依赖项的更复杂的情况,这可能会变得很乏味。
因此,问题是该模块是否可以声明其所有公共依赖关系,以便该模块的使用者自动链接到那些依赖关系?
当前有2种方法可以做到这一点
将其添加到中的快速文件中MyFramework
。
@_exported import CoreLocation
使用以下内容创建MyFramework.h
公共伞头MyFramework
。
#import <CoreLocation/CoreLocation.h>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句