Ứng dụng được định cấu hình để nhận cập nhật vị trí trong khi ở chế độ nền để giữ cho ứng dụng luôn hoạt động và cập nhật đang được nhận thành công khi ứng dụng ở chế độ nền.Cách nhận thông báo Darwin khi ứng dụng ở chế độ nền
Thông báo Darwin cũng đã được định cấu hình và chỉ nhận được khi ứng dụng là ứng dụng hiện tại ở nền trước. Ngay sau khi ứng dụng được đặt ở chế độ nền, nó sẽ ngừng nhận Thông báo Darwin.
Bất kỳ suy nghĩ nào về cách nhận thông báo Darwin trong khi ứng dụng ở chế độ nền?
Đoạn mã bên dưới.
Xây dựng ứng dụng trong Swift2
trong appdeligate
let callback: @convention(c)
(CFNotificationCenter!, UnsafeMutablePointer<Void>, CFString!, UnsafePointer<Void>, CFDictionary!) -> Void = {
(center, observer, name, object, userInfo) in
//Execute callback code
}
let exCb: CFNotificationCallback = unsafeBitCast(callback, CFNotificationCallback.self)
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),nil ,exCb,"com.apple.springboard.hasBlankedScreen" as CFString,nil ,CFNotificationSuspensionBehavior.DeliverImmediately)
trong viewController
locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
//locationManager.requestWhenInUseAuthorization()
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()
bạn đã thử bật chế độ nền 'Cập nhật vị trí' và kiểm tra xem phương thức ủy nhiệm' locationManager: didUpdateLocations: 'được gọi là –
@ Rich16 bạn đã từng làm việc này chưa? Và nếu có, nó vẫn hoạt động trên iOS 10? – simonthumper