Anthony Glyadchenko
Anthony Glyadchenko

Reputation: 3622

Why are my local notifications not having sound on by default in iOS 7?

My app uses geofencing and sends a notification.

By default, sounds are off in Settings - Notifications for the app.

iOS 7 to be precise.

Does anyone know how to fix this?

Here is the code responsible for this:

UILocalNotification *localNotif = [[UILocalNotification alloc] init];
        localNotif.fireDate = [NSDate dateWithTimeInterval:5 sinceDate:[NSDate date]];
        localNotif.timeZone = [NSTimeZone defaultTimeZone];
        localNotif.alertBody = [NSString stringWithFormat:@"You are near %@. Don't forget to check in!",place.name];
        localNotif.soundName = UILocalNotificationDefaultSoundName;
        localNotif.applicationIconBadgeNumber = 0;
        [[UIApplication sharedApplication] scheduleLocalNotification:localNotif];

Upvotes: 6

Views: 7387

Answers (2)

user3026667
user3026667

Reputation: 11

Have you set the applicationIconBadgeNumber in

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions?

Comment this code, and try again.....I don't why, but I got the same problem. After I commented this line, my app works correctly.

Upvotes: 0

Enrico Susatyo
Enrico Susatyo

Reputation: 19790

If the sound is turned off for your app in the Settings app, then your notification will not play any sound. The user does not allow you to do that.

If the sound is not turned off in the Settings app, that code that you posted should work.

Also if the user set the ringer switch off, then there will be no sound played.

Upvotes: 2

Related Questions