Location aware TODOs in Calendar
Originator: | nskboy | ||
Number: | rdar://7133088 | Date Originated: | 11-Aug-2009 02:14 PM |
Status: | Open | Resolved: | |
Product: | iPhone | Product Version: | Current |
Classification: | Feature (New) | Reproducible: | Always |
11-Aug-2009 02:14 PM Roman Busyghin: There are two awesome applications for Android: Locale (http://www.twofortyfouram.com/product.html) and Astrid (http://www.weloveastrid.com/). The tandem makes awesome work together. By leveraging Locale, Astrid is able to remind you not just when but also where tasks are due. It would be nice to see something like this on the iPhone. I create location, assign it to a TODO item. When my iPhone appears in appropriate location it will pop up an alert.
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!
Easy to do in iOS4 - CoreLocation supports background notification of events.
in iOS4, you'd do something like: locationManager_ = [[[CLLocationManager alloc] init]; [locationManager_ setDelegate:self]; [locationManager_ setPurpose:NSLocalizedString(@"Reminders",@"")]; CLLocationCoordinate2D workCenter; workCenter.latitude = 37.3358; workCenter.longitude = -102.01392; CLRegion *work = [[[CLRegion alloc] initCircularRegionWithCenter:workCenter radius:150 identifier:@"work"] autorelease]; [locationManager_ startMonitoringForRegion:work desiredAccuracy:20];
The, even if your app is in background, - (void)locationManager:(CLLocationManager )manager didEnterRegion:(CLRegion )region {} and - (void)locationManager:(CLLocationManager )manager didExitRegion:(CLRegion )region { }
will get called. At that point, you can post a localnotification to get the user's attention to deliver the TODO reminder.
This should work even if you do not set UIBackgroundModes tolocation in your Info.plist (setting it is only if you are doing near-continuous tracking in background.)
I'm going to code it up today, and check.