func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
print("didEnterRegion")
let beaconRegion = region as! CLBeaconRegion
let content = UNMutableNotificationContent()
content.title = NSString.localizedUserNotificationString(forKey: "I came", arguments: nil)
content.body = NSString.localizedUserNotificationString(forKey: "My Information:(region.identifier), major:(beaconRegion.major!)/minor:(beaconRegion.minor!)", arguments: nil)
content.sound = UNNotificationSound.default()
content.badge = UIApplication.shared.applicationIconBadgeNumber as NSNumber?;
content.categoryIdentifier = "com.elonchan.localNotification"
// Deliver the notification in five seconds.
let trigger = UNTimeIntervalNotificationTrigger.init(timeInterval: 1, repeats: false)
let request = UNNotificationRequest.init(identifier: region.identifier, content: content, trigger: trigger)
// Schedule the notification.
let center = UNUserNotificationCenter.current()
center.add(request)
userdefalut.set(nowTime, forKey: "lastDate_(tempUUID_2)")
userdefalut.synchronize()
print(UIDevice.current.identifierForVendor!.uuidString)
}
CLBeaconRegion(proximityUUID: UUID(uuidString: "00000000-0000-0000-0000-(name("(!, major:208, minor :56, identifier: "(name((path("(
如何在 didEnterRegion 中获取 UUID?请帮助我..
你只需要CLRegion
投射到CLBeaconRegion
。 就像 Swift 3 中的这样:
let beaconRegion = region as! CLBeaconRegion
或者在目标C中:
CLBeaconRegion *beaconRegion = (CLBeaconRegion *)region;
完成此操作后,您可以访问CLBeaconRegion
上的任何字段:
斯威夫特 3:
NSLog("My UUID: (beaconRegion.proximityUUID)")
目标C:
NSLog(@"My UUID: %@", beaconRegion.proximityUUID);
你可以
试试这个。
func locationManager(manager: CLLocationManager, didEnterRegion region: CLRegion) {
manager.startRangingBeaconsInRegion((region as! CLBeaconRegion))
var r = (region as! CLBeaconRegion)
self.sendLocalNotificationWithMessage("(r.proximityUUID)")
self.sendLocalNotificationWithMessage("(r.identifier)")
}