2012-09-04 14 views
7

NSUserNotification soundNameをカスタムサウンドで使用するように管理している人はいましたか? 私は、AIFとカフェのフォーマット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

これを把握しましたか?私は同じ問題を抱えています。 Apple Dev Formsに尋ねられ、「それを調べる」ためのバグレポートを提出するように言われました。私が待つことができず、Appleがそれを見て欲しいと思っているので、これを理解する方法が本当にあることを本当に望んでいる... – kdbdallas

+0

問題はしばしば起こり、問題はしばらくしてから並べ替えられました。たぶん、ある種のキャッシュシステムがあったかもしれません。 –

+1

ここでも2014年7月に同じことが起こっています。 – BergQuester

答えて

8

この問題のように私は大文字と小文字の区別があるようです。 notification.soundName = @"Morse";を使用すると、私にとって完璧に動作します。あなたは音のためにNSSound documentationsoundNamedのための検索フォルダで見ることができるようにために、以下のとおりです。

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

あなたは、彼らがしているので、からプルしようとしているおそらく最後の1、で見ればシステム環境設定でサウンドを、あなたはので、ファイルの場合を維持し、拡張子を省略し、期待通りに動作するはず

Sound names

に自分の名前を見ることができます。

0

複数のバージョンのアプリケーションバイナリ通知センターが、あなたのサウンドファイルのバイナリを間違って検索している可能性があります。

バイナリの古いコピーを削除した場合は、問題を修正する必要があります。アップルのDevフォーラムから

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

あなたが漂っアプリのバイナリの複数のバージョンを持っている場合に発生することができます。 NotificationCenterは、そのうちの1つのみを罰金します。それが音のないものであれば動作しません。

関連する問題