ビーコンが領域に入ったときに単一の通知を表示したい。私は次のコードを使用しました:ビーコンが領域内にあるときの通知を表示
func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
if region is CLBeaconRegion {
BeaconNotificationFound()
}
}
ロケーションマネージャと地域が正しいです。唯一の問題は、この関数では何も起こらないということです。 どうすればいいですか?
これは上記のコードです:
let locationManager = CLLocationManager()
let region = CLBeaconRegion(proximityUUID: UUID(uuidString: "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0")!, identifier: "AirLocate")
override func viewDidLoad() {
super.viewDidLoad()
//Darf Standort genutzt werden?
locationManager.delegate = self
if (CLLocationManager.authorizationStatus() != CLAuthorizationStatus.authorizedWhenInUse) {
locationManager.requestWhenInUseAuthorization()
}
locationManager.startRangingBeacons(in: region)
locationManager.startMonitoring(for: region)
}
BeaconNotificationFound()内のコードはどのように見えますか?このメソッドが呼び出されるかどうか知っていますか? – davidgyoung
はい、この機能は動作しています。それは別の位置でそれを試みた。 – luki512
OK、この場合、BeaconNotificationFound()が呼び出されることは知っていますか?問題は単にリージョンエントリコールバックを取得していないということだけかもしれません。これが起こるかもしれない多くの、多くの理由があります。地域の監視を設定するコードを表示する必要があり、すべてが正しいことを確認できるようにアプリケーションのロケーション権限を要求する必要があります。 – davidgyoung