私は目覚まし時計のiOSアプリを書いています。UILocalNotification を使用するのは初めてです。日付ピッカーから日付を取得しています。関数に適切な日付が渡されているかどうかを確認するために、日付をフォーマットしました。UILocalNotification に必要なすべてのプロパティを確認しましたが、それらはすべてありますが、通知はまだ発生しません。理由についてのアイデアはありますか?助けてくれてありがとう。
#import "BIDAlarmViewController.h"
@interface BIDAlarmViewController ()
@end
@implementation BIDAlarmViewController
@synthesize datePicker;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib
}
- (void)didReceiveMemoryWarning{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(IBAction)setReminderUsingDateFromDatePicker: (id)sender{
[self scheduleNotificationForDate: datePicker.date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd 'at' HH:mm"];
NSString *formattedDateString = [dateFormatter stringFromDate:datePicker.date];
NSLog(@"Button Pressed.. date: %@", formattedDateString);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alarm activated"
message:@"Alarm has been set"
delegate:self cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
-(void) scheduleNotificationForDate: (NSDate*)date {
UILocalNotification *alarm = [[UILocalNotification alloc] init];
if (alarm) {
alarm.fireDate = date;
alarm.timeZone = [NSTimeZone defaultTimeZone];
alarm.repeatInterval = 0;
alarm.soundName = @"alarmsound.caf";
alarm.alertBody = @"Test message...";
[[UIApplication sharedApplication] scheduleLocalNotification:alarm];
}
}
@end