このメソッドをappdelegate.m
ファイルに作成します。Appdelegate.h に AVFoundation/AVSpeechSynthesis.h をインポートすることを忘れないでください
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
UIApplicationState state = [application applicationState];
if (state == UIApplicationStateActive) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Reminder"
message:notification.alertBody
delegate:self cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
AVSpeechUtterance *utterance = [AVSpeechUtterance
speechUtteranceWithString:[NSString stringWithFormat:@"%@",notification.alertBody]];
AVSpeechSynthesizer *synth = [[AVSpeechSynthesizer alloc] init];
utterance.volume = 10;
utterance.rate = 0.2;
utterance.pitchMultiplier = 1;
[synth speakUtterance:utterance];
// Request to reload table view data
[[NSNotificationCenter defaultCenter] postNotificationName:@"reloadData" object:self];
// Set icon badge number to zero
application.applicationIconBadgeNumber = 0;
}