我有一个应用来管理一些iBeacons并向我发送通知。
我的问题是我不知道为什么在后台它只向我显示一个通知。在重新启动程序之前,它不再显示另一个。
代码如下。 以下代码需要获得许可。
if(application.respondsToSelector("registerUserNotificationSettings:")) {
application.registerUserNotificationSettings(
UIUserNotificationSettings(
forTypes: UIUserNotificationType.Alert | UIUserNotificationType.Badge,
categories: nil
)
)
}
这是允许我发送通知的功能
func sendLocalNotificationWithMessage(message: String!){
let notification: UILocalNotification = UILocalNotification()
notification.alertBody = message
UIApplication.sharedApplication().scheduleLocalNotification(notification)
NSLog("\(message)")
}
并切换didRangeBeacons函数
switch(nearestBeacon.minor){
case 40899:
for v in iceAds{
if (!v.accepted && v.zone == zone){
sendLocalNotificationWithMessage("\(v.nameAd): \(v.descriptionAd)")
beaconAd = v
showAd()
return
}
}
break;
case 21750:
for v in blueberryAds{
if (!v.accepted && v.zone == zone){
sendLocalNotificationWithMessage("\(v.nameAd): \(v.descriptionAd)")
beaconAd = v
showAd()
return
}
}
break;
case 47846:
for v in mintAds{
if (!v.accepted && v.zone == zone){
beaconAd = v
sendLocalNotificationWithMessage("\(v.nameAd): \(v.descriptionAd)")
showAd()
return
}
}
if (zone == 3){
if (newProdArray()){
sendLocalNotificationWithMessage("Veja os produtos que lhe faltam comprar")
showListAdded()
}
}
break;
default:
return
}
我还启用了后台功能(位置更新和使用蓝牙LE配件)。还将必需的背景模式添加到我的plist文件中。
如果你能指出问题所在,我将非常感激。
答案 0 :(得分:0)
我不认为你可以在后台确定范围 - 背景模式iBeacon不需要BLE
这样的范围也会耗尽很多电池