プッシュ通知を使用するiPhoneアプリを開発しています。
ペイロードでは、いくつかのことを指定しています。
- メッセージ本文
- 音
- ユーザーが通知からアプリを起動できないようにするため、action-loc-key
通知は私のiPhoneにうまく届いています。ボタンのないメッセージが表示されます。したがって、bodyとaction-loc-keyは正常に機能しています。しかし、それは音を鳴らしていません。
ただし、トラブルシューティング中に気付いたことがいくつかあります。
- application:didReceiveRemoteNotificationを実装すると、すべてが正常に見えます。Dictionary引数には、サウンドのキーが含まれています。その値は、実際に再生したいファイルの名前です。
- サウンドファイル自体は「機能」します。これは、アプリ内で(BubbleLevelサンプルのSoundEffectクラスを使用して)再生すると、問題なく機能するためです。
これらの2つの事実にもかかわらず、効果音は単に再生されていません。
設定アプリでは、すべてが正しく表示されます。アプリのプッシュがオンになっていて、「サウンド」と「アラート」の両方もオンに設定されています。
iPhoneドキュメントセンターでは、Quicktimeを使用してファイルの形式を確認することをお勧めします。こんな感じです。
最後に、XCodeでこのファイルの情報を見ると、ファイルタイプは単にデフォルトの「ファイル」であることがわかります。私が知る限り、リストにはaudio-cafオプションがありません。私はaudio-WAVを試しました(サウンドエンジニアは元のファイルはWAVであると私に言いました)が、それは何も変わりませんでした。
さらに、コード:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// view controller set up stuff
// ...
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];
}