gpt4 book ai didi

geolocation - 基于区域的本地通知

转载 作者:行者123 更新时间:2023-12-04 16:00:31 27 4
gpt4 key购买 nike

我目前正在使用“区域”示例代码:
https://developer.apple.com/library/ios/#samplecode/Regions/Introduction/Intro.h tml#//apple_ref/doc/uid/DTS40010726-Intro-DontLinkElementID_2

我想更进一步,并在用户退出该区域时生成或触发通知(可以同时用于进入和退出,我不介意,对于初始实现最简单的方法)。

我一直在查看 CLLocation 类引用、位置感知编程指南和本地和推送通知编程指南。而我正遭受信息过载的困扰。

非常感谢 :)

编辑:我想我可能有一个解决问题的想法:
在 RegionsViewController 实现文件中有这样的:

- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region        {
NSString *event = [NSString stringWithFormat:@"didExitRegion %@ at %@", region.identifier, [NSDate date]];

[self updateWithEvent:event];
}

由于我想在用户退出指定区域边界时实现本地通知,因此我输入了以下内容:
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region {
NSString *event = [NSString stringWithFormat:@"didExitRegion %@ at %@", region.identifier, [NSDate date]];
[self updateWithEvent:event];
//implement local notification:
UIApplication *app = [UIApplication sharedApplication];
UILocalNotification *notification = [[UILocalNotification alloc] init];
[[UIApplication sharedApplication] cancelAllLocalNotifications];

if (notification == nil)
return;

notification.alertBody = [NSString stringWithFormat:@"Did You Lock Your House?"];
notification.alertAction = @"Lock House";
notification.soundName = UILocalNotificationDefaultSoundName;
notification.applicationIconBadgeNumber = 1;
[app presentLocalNotificationNow:notification];

[notification release];
}

有人可以建议我这是否正确,或者是否有任何建议? (为糟糕的格式道歉)

最佳答案

你是对的,没有比从 locationManager:didExitRegion 触发本地通知更好的方法了:
此外,即使您的应用程序在后台运行或关闭,这也将起作用。

关于geolocation - 基于区域的本地通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10028859/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com