问题描述
我只导入了 MapKit 和 UIKit。然后在我的代码中我使用了类 CLLocationManager
var locMgr = CLLocationManager()
但是有一些奇怪的东西。 CLLocationManager 不是 MapKit 框架的一部分。 CLLocationManager 是 CoreLocation 框架的一部分。 但无论如何都没有错误。这不是后果。我不明白这是如何工作的。
解决方法
MapKit 依赖 CoreLocation 框架来实现其功能以及 CoreLocation 提供的类型,例如 CLLocationCoordinate2D
、CLLocationDegrees
等。为此,它导入 CoreLocation。
因为 MapKit 在其公共 API 中使用 CoreLocation 类型,它也必须重新导出 CoreLocation 本身的导入,即使您没有手动导入 CoreLocation,您也可以使用它。