我编写了一个iBeacon应用程序,当用户靠近信标时发送通知。它有效,但它发送了很多通知!例如,我的手机附近有一个iBeacon,它向我发送了很多通知(一分钟约10-15个通知)
如何每小时为每个ibeacon发送一个警报通知?
我已经准备好向您展示我的代码,但只是告诉我您希望看到哪部分代码?
这是我的全部 AppDelegate.swift
答案 0 :(得分:0)
设置一个标记(属性)以保留已提醒通知的proximityUUID
或CLBeacon
,如果它们不在区域内,则删除它们。
// property
var myUUIDs: NSMutableArray = NSMutableArray()
// didRangeBeacons
if (!myUUIDs.containsObject(nearestBeacon.proximityUUID.UUIDString)) {
myUUIDs.addObject(nearestBeacon.proximityUUID.UUIDString)
sendLocalNotificationWithMessage(message, playSound: playSound)
}
// remove uuid not in beacons
for var i = 0; i < beacons.count; i++ {
var beacon = beacons[i] as! CLBeacon
if (!myUUIDs.containsObject(beacon.proximityUUID.UUIDString)) {
myUUIDs.removeObject(beacon.proximityUUID.UUIDString)
}
}