我有一个可以判断iBeacon是否在范围内的应用程序,是否有人知道如果iBeacon在推送通知的范围内,即使手机正在睡眠,我也可以通知用户?
编辑:我的问题与this question不同,因为我不知道如何生成推送通知。当应用程序处于非活动状态时,所有这一切都要少得多。
答案 0 :(得分:0)
通常,信标应用使用本地通知而非远程通知,以便在附近有信标时提醒用户。两者对最终用户看起来都是一样的,但是从手机上运行的代码启动本地通知,并且从服务器推送远程通知。您可以在此处阅读有关差异的信息:https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction.html
您可以发送didEnterRegion
回调中的本地通知,如下所示:
UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.alertBody = @"I see a beacon";
[[UIApplication sharedApplication] presentLocalNotificationNow:notification];
您还需要请求以didFinishLaunchingWithOptions
方法发送本地通知的权限:
if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]) {
[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeSound categories:nil]];
}