Ich habe ein Framework, das alle Beacon Detection Logik und eine Beispiel-App, die Rahmen und bricht Framework. Ich möchte Benachrichtigungen erhalten, nachdem die App beendet wurde. Ich kann Benachrichtigungen von der App erhalten, wenn die Logik in App ist. Aber wenn die Logik im Rahmen ist, bekomme ich keine Benachrichtigungen. Was mache ich falsch?Beacon Detection im Hintergrund von Framework
import UIKit
import CoreLocation
extension AppDelegate: CLLocationManagerDelegate {
func registerForBeaconNotifications() {
let locationManager = CLLocationManager()
let region = CLBeaconRegion(proximityUUID: UUID(uuidString: "83f9daec-4cae-54f1-b64e-846f12345d05")!, major: 10, minor: 10, identifier: "iPhone 6 Beacon")
locationManager.delegate = self
region.notifyOnEntry = true
region.notifyOnExit = true
region.notifyEntryStateOnDisplay = true
locationManager.startMonitoring(for: region)
locationManager.startRangingBeacons(in: region)
// Register for showing notification alerts
UIApplication.shared.registerUserNotificationSettings(UIUserNotificationSettings(types: .alert, categories: nil))
}
func locationManager(_ manager: CLLocationManager, didDetermineState state: CLRegionState, for region: CLRegion) {
let notification = UILocalNotification()
switch state {
case .inside:
notification.alertBody = "Entered region"
UIApplication.shared.presentLocalNotificationNow(notification)
case .outside:
notification.alertBody = "Exited region"
UIApplication.shared.presentLocalNotificationNow(notification)
default:
notification.alertBody = "Region unknown"
UIApplication.shared.presentLocalNotificationNow(notification)
}
}
}
Es gibt viele, viele Dinge, die schief gehen könnten. Ohne den Code zu sehen, wäre jede Antwort nichts weiter als wilde Spekulation. Kannst du bitte den Code posten? – davidgyoung
Ich bin mir nicht sicher, ob 'AppDelegate + BeaconMonitoring.swift' ein Link zu einer Datei sein soll, aber es kam nicht durch. Unabhängig davon, ist es bei StackOverflow üblich, einen kleinen * Auszug * Ihres Codes zu veröffentlichen, der die für Ihre Frage relevanten Teile des Codes enthält. – davidgyoung
Ich war in der Mitte des Updates, der letzte Kommentar war versehentlich. Ich habe meine Frage mit Code bearbeitet. – Vinuta