iphone - 更改已设置的 UILocalNotification 的 soundName

标签 iphone ios ipad alert uilocalnotification

对于尚未创建的通知(新通知)它会更改,但对于已经创建的通知,之前的声音会保留。

我试过:

NSString *soundName = cell.titleLabel.text;

NSArray *notifications = [[UIApplication sharedApplication] scheduledLocalNotifications];

for (UILocalNotification *notif in notifications) {
    notif.soundName = [NSString stringWithFormat:@"%@.mp3", soundName];
}

但它不起作用...

最佳答案

您必须重新安排已安排的通知。但请确保删除之前安排的那些。

NSArray *notifications = [[UIApplication sharedApplication] scheduledLocalNotifications];
[[UIApplication sharedApplication] cancelAllLocalNotifications];

for (UILocalNotification *notif in notifications) {
    notif.soundName = [NSString stringWithFormat:@"%@.mp3", soundName]; 
    [[UIApplication sharedApplication] scheduleLocalNotification:notification];
}

关于iphone - 更改已设置的 UILocalNotification 的 soundName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14674540/

相关文章:

iphone - IOS-执行选择器 :withObject:afterDelay: NOT WORKING

iphone - 将证书链存储在应用程序钥匙串(keychain)中

ios - 不允许在 App 内购买

iphone - 从 Apple DateCell 模板中删除单元格

iphone - iPhone 应用程序中的 Windows Live 身份验证

iphone - 如何释放这些泄漏?

ios - 在 iOS 上实现 "grand unified receipt"

ios - 使用 facebook 登录时遇到问题

ios - ipad pro 和笔记本电脑的媒体查询

ipad - UIPopoverController 显示位置错误