我的项目中有三个声音:
} - (IBAction)Sound1:(NSDate *)fireDate;
{
[[NSUserDefaults standardUserDefaults] setObject:@"Sound1.aiff" forKey:@"UserSoundChoice"];
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
[localNotification setFireDate:[NSDate date]];
[localNotification setTimeZone:[NSTimeZone defaultTimeZone]];
[localNotification setAlertBody:@"Alarm went off!"];
[localNotification setAlertAction:@"View"];
[localNotification setHasAction:YES];
localNotification.soundName= [[NSUserDefaults standardUserDefaults] objectForKey:@"UserSoundChoice"];
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
}
- (IBAction)Sound2:(NSDate *) fireDate;
{
[[NSUserDefaults standardUserDefaults] setObject:@"Sound2.aiff" forKey:@"UserSoundChoice"];
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
[localNotification setFireDate:[NSDate date]];
[localNotification setTimeZone:[NSTimeZone defaultTimeZone]];
[localNotification setAlertBody:@"Alarm went off!"];
[localNotification setAlertAction:@"View"];
[localNotification setHasAction:YES];
localNotification.soundName= [[NSUserDefaults standardUserDefaults] objectForKey:@"UserSoundChoice"];
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
}
- (IBAction)Sound3:(NSDate *) fireDate;
{
[[NSUserDefaults standardUserDefaults] setObject:@"Sound3.aiff" forKey:@"UserSoundChoice"];
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
[localNotification setFireDate:[NSDate date]];
[localNotification setTimeZone:[NSTimeZone defaultTimeZone]];
[localNotification setAlertBody:@"Alarm went off!"];
[localNotification setAlertAction:@"View"];
[localNotification setHasAction:YES];
localNotification.soundName= [[NSUserDefaults standardUserDefaults] objectForKey:@"UserSoundChoice"];
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
}
- (IBAction)SetDatePicker
{
NSDateFormatter *dateFormatter =[ [NSDateFormatter alloc] init];
dateFormatter.timeZone = [NSTimeZone defaultTimeZone];
dateFormatter.timeStyle = NSDateFormatterShortStyle;
dateFormatter.dateStyle = NSDateFormatterShortStyle;
NSString *dateTimeString = [dateFormatter stringFromDate: dateTimePicker.date];
NSLog (@"Alarm saved: %@", dateTimeString);
[self Sound1:dateTimePicker.date];
[self Sound2:dateTimePicker.date];
[self Sound3:dateTimePicker.date];
}
-(void)scheduleLocalNotificationWithDate:(NSDate *)fireDate
{
UILocalNotification * notifiction = [[UILocalNotification alloc] init];
notifiction.FireDate = fireDate;
notifiction.AlertBody = @"Wake Up!!!";
notifiction.soundName =UILocalNotificationDefaultSoundName;
notifiction.repeatInterval= NSMinuteCalendarUnit;
[[UIApplication sharedApplication] scheduleLocalNotification: notifiction];
}
我想让用户选择其中一个将其设置为通知声音 我一直在搜索,但我找不到任何帮助我的解决方案
答案 0 :(得分:1)
您可以为本地和推送通知指定音频文件。允许用户选择他们想要的文件作为警报声音。在NSUserDefaults中保存该首选项,然后使用声音创建UILocalNotification。
示例:
您需要在Xcode项目中包含3个声音文件(例如Sound1.aiff,Sound2.aiff和Sound3.aiff)。
- (IBAction)Sound1
{
[[NSUserDefaults standardUserDefaults] setObject:@"Sound1.aiff" forKey:@"UserSoundChoice"];
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
[localNotification setFireDate:[NSDate date]];
[localNotification setTimeZone:[NSTimeZone defaultTimeZone]];
[localNotification setAlertBody:@"Alarm went off!"];
[localNotification setAlertAction:@"View"];
[localNotification setHasAction:YES];
localNotification.soundName= [[NSUserDefaults standardUserDefaults] objectForKey:@"UserSoundChoice"];
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
}
来源: Limits on iPhone push notification sounds?