2012-09-04 3 views
7

누구나 NSUserNotification soundName을 사용자 지정 사운드로 작동하도록 만들었습니까? aif 및 caf 형식의 44100KHz 16 비트 2 초를 시도했습니다. 올바른 제목과 텍스트가 포함 된 적절한 시간에 알림이 표시되지만 사용자 정의 사운드 대신 기본 사운드가 재생됩니다.NSUserNotification with custom soundName

사운드 파일이 응용 프로그램 번들에 올바르게 복사됩니다.

NSSound* sound = [NSSound soundNamed:@"morse.aif"]; 
[sound play]; 

을하지만 내 알림에서 같은 사운드를 사용하는 경우, 기본 알림 음이 재생됩니다 : 내가하려고하면이 소리는 확인 작업

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{ 
    // Insert code here to initialize your application 
    NSUserNotification* notification = [[NSUserNotification alloc]init]; 
    notification.title = @"Titolo"; 
    notification.deliveryDate = [NSDate dateWithTimeIntervalSinceNow:10]; 
    notification.soundName = @"morse.aif"; 
    [[NSUserNotificationCenter defaultUserNotificationCenter]scheduleNotification:notification]; 
} 

내가 함께하고 확장자가없는했지만, 성공하지 못했습니다.

notification.soundName = @"morse.aif"; 
notification.soundName = @"morse2.caf"; 
notification.soundName = @"morse";  

이러한 작업은 없습니다.

내 응용 프로그램에 서명이없고 샌드 박스가 아니지만 사용자 알림에 필요하지 않다고 생각하고 사운드 문제와 별개로 알림 기능이 훌륭합니다.

+0

이것을 알아 냈습니까? 나는 같은 문제를 겪고있다. 애플 개발자 폼 (App Dev Forms)에 묻자 버그 리포트를 제출하여 "조사"하도록했다. 정말 기다릴 수 없어서 애플이 그걸 들여다 보길 바라면서 이것을 알아낼 수있는 방법이 있기를 바란다 ... – kdbdallas

+0

종종 문제가 발생하기 때문에 문제는 다소 시간이 지나면 분류된다. 어쩌면 어떤 종류의 캐싱 시스템이 있었을 것입니다. –

+1

2014 년 7 월에 똑같은 것을 얻었습니다. – BergQuester

답변

8

이 문제는 대소 문자가 구별되는 것처럼 보입니다. notification.soundName = @"Morse";을 사용하면 완벽하게 작동합니다. 당신은 소리에 대한 NSSound documentationsoundNamed에 대한 검색 폴더에서 볼 수 있듯이 위해, 다음과 같습니다

~/Library/Sounds 
/Library/Sounds 
/Network/Library/Sounds 
/System/Library/Sounds 

당신은 당신이 그들이있어 이후로부터 끌어하려는 아마 마지막에 보이는 경우 시스템 환경 설정에서, 당신은 자신의 이름을 볼 수있는 소리를하는 것은

Sound names

그래서 파일의 경우 유지, 확장을 생략하고 예상대로 작동합니다.

0

App 바이너리 알림 센터의 버전이 여러 개인 경우 사운드 파일의 잘못된 바이너리를 검색하고있을 수 있습니다.

바이너리의 이전 사본을 삭제해야한다면 문제를 해결해야합니다. 애플 개발자 포럼에서

: https://devforums.apple.com/message/708511

당신이 주위에 떠있는 앱 바이너리의 여러 버전이있는 경우가 발생할 수 있습니다. NotificationCenter는 그 중 하나만과 벌금을 부과합니다. 소리가없는 사람은 작동하지 않습니다.