2015-07-05 2 views
0

Как только Apple обновила ОС до 8.3, мои местные пользовательские звуки не воспроизводились.Локальное уведомление пользовательский звук НЕ воспроизводится после OS8.3

Я сделал все правильно, потому что он работал < = 8.2, так что код не должен быть проблемой, но только в том случае, если это то, как я создал свои уведомления:

FYI они являются 30 сек или менее

Сначала я преобразовал их в CAF формате с использованием Apples supplied code

Затем я добавил его к моему проекту. Я подтвердил, что это в моем ресурсном пакете. Я также подтвердил, что они назначены цели.

Он по-прежнему не играет, но во всех предыдущих версиях ОС.

Вот мой метод график:

- (void) scheduleLocalNotification { 
NSString *localNotificationSound; 
localNotificationSound = [[NSBundle mainBundle] pathForResource:@"Clock" ofType:@".caf"]; 

UILocalNotification *timerDoneNotification = [[UILocalNotification alloc] init]; 
timerDoneNotification.soundName = localNotificationSound; 
timerDoneNotification.alertBody = @"Time Up!"; 
timerDoneNotification.alertAction = @"Reset"; 
timerDoneNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:secondsLeft]; 
timerDoneNotification.timeZone = [NSTimeZone defaultTimeZone]; 
[[UIApplication sharedApplication] scheduleLocalNotification:timerDoneNotification]; 
} 

ответ

0

Я не читал часть о том, как она должна быть не локализована ресурс:

Вы можете упаковать аудиоданные в AIFF , wav или caf. Затем в Xcode добавьте звуковой файл в проект как нелокализованный ресурс пакета приложений.

Так все, что я сделал, было обернуть имя файла в stringWithFormat и он начал работать после V8.3

timerDoneNotification.soundName = [NSString stringWithFormat:@"%@", localNotificationSound]; 
Смежные вопросы