Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS MKMapItem';s openInMaps(启动选项:)不会触发ViewWillEnglish_Ios_Mapkit_Mkmapitem - Fatal编程技术网

iOS MKMapItem';s openInMaps(启动选项:)不会触发ViewWillEnglish

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

我正在通过openInMaps(launchOptions:)从我的ViewController打开Maps.app,离开或返回应用时不会触发任何生命周期方法

示例项目:

示例代码:

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
}