通知:本地通知的自定义声音未在 iOS10 中播放

UNNotification: Custom Sound for LocalNotification is not playing in iOS10

我正在发送本地通知。由于 UILocalNotification class 在 iOS 10 中被弃用,我使用了 UserNotifications.framework.

当我尝试为通知设置自定义声音时,默认声音一直在播放。

这是我的代码:

- (IBAction)fireLocalNotification:(id)sender {
    
    UNMutableNotificationContent* content = [[UNMutableNotificationContent alloc] init];
    content.title = [NSString localizedUserNotificationStringForKey:@"Hello!" arguments:nil];
    content.body = [NSString localizedUserNotificationStringForKey:@"Hello_message_body"
                                                         arguments:nil];
    content.sound = [UNNotificationSound soundNamed:@"sound.mp3"];
    
    // Deliver the notification in five seconds.
    UNTimeIntervalNotificationTrigger* trigger = [UNTimeIntervalNotificationTrigger
                                                  triggerWithTimeInterval:5 repeats:NO];
    
    UNNotificationRequest* request = [UNNotificationRequest requestWithIdentifier:@"FiveSecond"
                                                                          content:content trigger:trigger];
    
    // Schedule the notification.
    UNUserNotificationCenter* center = [UNUserNotificationCenter currentNotificationCenter];
    [center addNotificationRequest:request withCompletionHandler:^(NSError *error){
        
        if(!error){
            
            NSLog(@"Completion handler for notification");
        }
        
    }];
}

我的声音很好; sound.mp3 存在于项目包本身中。

更多信息: https://developer.apple.com/reference/usernotifications/unusernotificationcenter?language=objc

尝试从设备中删除应用程序,清理并运行在设备上再次应用程序。

有时,资源没有正确更新;我认为这是你的问题所在。

不支持长音频文件。

您的文件是否超过 30 秒?如果是,它将不起作用。只有短于 30 秒的文件可用。如果文件超过 30 秒,则将替换为默认声音。

UNNotificationSound documentation