Звук с путем в локальных уведомлениях не работает - PullRequest
0 голосов
/ 02 июля 2018

Я загружаю звуковые файлы из Интернета, и путь, который я получаю, находится здесь /var/mobile/Containers/Data/Application/9A3E2F61-AD0F-42B1-9BDA-81922E630AB6/Library/NoCloud/My_App/SoundTunes/My_Tune.wav

Сейчас я пытаюсь установить my_tune для уведомления, но каждый раз, когда он звонит default tune, несмотря на то, что у меня длительность my_tune меньше 25 seconds

Помогите мне, как я могу установить путь my_tune к кольцу для моих локальных уведомлений

NSURL *urlTuneTime = [[NSFileManager.defaultManager URLsForDirectory:NSLibraryDirectory inDomains:NSUserDomainMask] lastObject];
NSURL *urlTuneTimeok = [urlTuneTime URLByAppendingPathComponent:@"NoCloud/My_App/SoundTunes/"];
NSURL *urlTuneTimeokk = [urlTuneTimeok URLByAppendingPathComponent:getTuneTime];
NSLog(@"here is the overall got path of time tune%@", urlTuneTimeokk);

content.sound = [UNNotificationSound soundNamed: @"../SoundTunes/My_Tune.wav" ];

//content.sound = [UNNotificationSound soundNamed: @"NoCloud/MyApp/SoundTunes/My_Tune.wav" ];

1 Ответ

0 голосов
/ 02 июля 2018

Согласно UNNotificationSound документации по soundNamed initializer :

Этот файл должен находиться в основном комплекте текущего исполняемого файла или в каталоге Library / Sounds каталога текущего контейнера приложения.

Таким образом, вы должны сохранить загруженный файл в каталог Library/Sounds вашего приложения, используя URL:

// save your file here
NSURL *soundsDirectoryUrl = [[[NSFileManager.defaultManager URLsForDirectory:NSLibraryDirectory inDomains:NSUserDomainMask] firstObject] URLByAppendingPathComponent:@"Sounds"];
NSURL *fileUrl = [soundsDirectoryUrl URLByAppendingPathComponent:@"fileName.wav"];

// create UNNotificationSound
content.sound = [UNNotificationSound soundNamed: "fileName.wav" ];
...