iOS MKMapItem';s openInMaps(启动选项:)不会触发ViewWillEnglish
我正在通过openInMaps(launchOptions:)从我的ViewController打开Maps.app,离开或返回应用时不会触发任何生命周期方法 示例项目: 示例代码:iOS MKMapItem';s openInMaps(启动选项:)不会触发ViewWillEnglish,ios,mapkit,mkmapitem,Ios,Mapkit,Mkmapitem,我正在通过openInMaps(launchOptions:)从我的ViewController打开Maps.app,离开或返回应用时不会触发任何生命周期方法 示例项目: 示例代码: let placeMark = MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: 46.6413035, longitude: 14.2425444)) let mapItem = MKMapItem(placemark: placeMark) ma
let placeMark = MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: 46.6413035, longitude: 14.2425444))
let mapItem = MKMapItem(placemark: placeMark)
mapItem.name = "Klagenfurt"
mapItem.openInMaps(launchOptions: nil)
有人能告诉我为什么会出现这种行为吗?这是因为你的应用程序没有更改其可见视图控制器。因此,不会触发视图控制器生命周期事件 但是,会触发应用程序生命周期事件。可以通过向默认通知中心注册来观察它们。所有可用事件都可以在UIApplication的文档中找到 您可以使用以下代码注册观察员:
NotificationCenter.default.addObserver(self,
selector: #selector(self.applicationDidResignActive),
name: Notification.Name.UIApplicationWillResignActive,
object: nil)
并添加了以下方法:
func applicationDidResignActive(notification: NSNotification) {
// handle event
}