I want to have a few local notifications with no display and no sound, but only a vibration. I can get it to do no display, by simply setting alertBody
to @""
, but how can I send no sound? I am thinking if I don't get a better way from you guys, that I will be able to just make a sound that is empty, add it to my project, then set soundName to that sound. But is there any sort of default way to do this?
If I add a phony sound name it still plays the default notification sound.
Thanks!!
No you can not disable sound because UILocalNotification does not provide any option for this. So better option is as you told in your question to use a empty sound file.
Yes you can add another sound file.
NSString *soundFile=@"temp.mp3";
UILocalNotification* localNotification = [[UILocalNotification alloc] init];
if (localNotification==nil) {
return;
}
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:60];
localNotification.alertBody = @"Your alert message";
localNotification.soundName = soundFile;
localNotification.timeZone = [NSTimeZone defaultTimeZone];
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
In above code just put the name of sound file which you have saved in your resources in place of "soundFile" string.
You can not set sound.or
-(void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)responsewithCompletionHandler:(void (^)())completionHandler{
NSDictionary * userInfo = response.notification.request.content.userInfo;
if([response.notification.request.trigger isKindOfClass:[UNCalendarNotificationTrigger class]]) {}
else{}
//don't write UNNotificationPresentationOptionSound
completionHandler(UNNotificationPresentationOptionAlert | UNNotificationPresentationOptionBadge);
}