iOSアプリ開発 開発

[iOS開発]Push通知をカスタム警告音に変更する手順

やること

既存のiOSプロジェクトの通知用にカスタム警告音を作成し、実際に動作するところまでの手順を説明します。

  1. iOSアプリのPush通知音の作成
  2. 既存プロジェクトに通知音ファイル設置
  3. コードの修正

1.iOSアプリのPush通知音の作成

まず、カスタム警告音で使用できるのは以下のオーディオフォーマットになります。

  • リニアPCM
  • MA4(IMA/ADPCM)
  • μLaw
  • aLaw

詳細はAppleの「LocalおよびPush Notificationプログラミングガイド」を読んでください。

大まかな作業の流れ

  • GarageBandで音ネタを作成
  • afconvertでaiffからcafフォーマットに変換

GarageBandで音ネタを作成

ここでは通知音の作成にはGarageBandを使います。

gb01

ここでの注意点は音の長さを30秒以内にすることです。音を作成したらメニューの「共有」>「曲をディスクに書き出し」で下記のような設定でファイルを書き出します。

gb02

ここまでで、aiffフォーマットによる音源作成が完了です。

afconvertでaiffからcafフォーマットに変換

次にaiffフォーマットからcafフォーマットに変換します。

Terminalを起動して、下記のように入力します。

[plain]
<pre>afconvert aiffファイルのパス 書き出したいファイルのパス -d ima4 -f caff
[/plain]

例えばこんな感じになります。

[plain]
%afconvert ~/Desktop/source.aiff ~/Desktop/target.caf -d ima4 -f caff
[/plain]

cafファイルが無事作成できたら30秒以内になっているか確認してください。

また、ファイルサイズが大きすぎないかも注意しておくと良いです。

参考までに、実際に作成したcafフォーマットのファイルを公開しておきます。

https://drive.google.com/file/d/0B0-kSMDLGoIzMnBVVUdZdHZEcDg/edit?usp=sharing

このようにしてcafフォーマットのカスタム警告音が作成できます。

既存プロジェクトに通知音ファイル設置

次に、cafファイルをXcodeに登録します。cafファイルをXcodeプロジェクトのSupporting Filesディレクトリ等にドラッグ&ドロップします。

そして、下記のような設定でFinishボタンを押して下さい。

xc01


これでcafファイルがあなたのプロジェクトに登録されました。あとはソースコードで通知の際に呼び出されるようにすればOKです。

コードの修正

ローカル通知の場合

UILocalNotificationインスタンスのsoundNameにファイル名を設定します。

[plain]

localNotif.soundName = @"test.caf";

[/plain]

今回の例ではファイルパスは考慮せず、ファイル名だけを指定するようにしてください。絶対パスなどで設定してもうまくいかないと思います。

リモート通知の場合

APNsから下記のようなペイロードを受信できるようにします。

[plain]

{

"aps" : {

"alert" : "Push Test"

"sound" : "test.caf"

}

[/plain]

あとは、実機にアプリをインストールして動作確認してください。

iPhone等がミュート状態になっていないことをお忘れなく。

  • この記事を書いた人

たけぞう

熊谷に住みながら都内のIT企業でエンジニアをしています。ガジェットやアウトドア用品についてレビューをしていきます。 趣味はスポーツジムでトレーニングやジョギングをすることです。

-iOSアプリ開発, 開発
-,