「朗読と音」バージョンアップへの道:その3
対象
- OS 10.13.3
- Xcode8
- Swift 3
- nifty mBass
やりたいこと
nifty のmBassを使ってプッシュ通知をしたい。
前回、Frameworkの削除でAppFellowを削除したので、その代わりにniftyのmBassを設置したいと思います。
はじめに
プッシュ通知の検証には実機での検証が必要になります。
必ず、実機でビルドできる状態から設定を行ったほうが良いです。
NCMBライブラリーのインストール
podでNCMBライブラリーをインストールします。これはniftyのmBassを使うためのライブラリーみたいです。これをまずインストール
pod 'NCMB', :git => 'https://github.com/NIFCloud-mbaas/ncmb_ios.git'
この時に気をつけないといけないのが、他のライブラリーがアップデートされないようにする必要がありました。なので、podfileに記載されているライブラリーのアップデートさせないようにする必要があります。
podfile内の記述ライブラリーのバージョン固定
podfileに記述されたライブラリーのバージョンを固定するには、ライブラリー名の後にそのバージョンを記載すればできます。
pod '[ lib name ]', '0.0.0'
podfileに記載されているライブラリーのバージョンを確認する
しかし、podfileに記載されているライブラリーにはバージョンが記載されていないケースが多いので、現在インストールされているライブラリーのバージョンを確認する必要があります。
podのコマンドには現在のライブラリー状況と、そのライブラリーの最新バージョンを確認するコマンドがあります。
pod outdated
これで、旧と新のバージョンを確認することができます。
参照:https://qiita.com/tmnb/items/e3575c3f1895c3ff36d1
設定のCapabilitiesをONにする
プッシュ通知を実現するために、アプリの設定画面で「Capabilities」をonにする必要があります。
参照:https://qiita.com/jollyjoester/items/63991657f0d631383c9b
左メニューから最上部階層のアプリ(.xcodeproj)を選び「Capabilities」を選択します。
「Push Notifications」の項目をONにします。
「User Notifications」と「NCMB」をimportする
NCMBをimportしただけではエラーが出ており、「UserNotifications」が設定されていないと表示されます。そのため、「UserNotifications」をimportする必要があります。
「AppDelegate.swift」の冒頭に下記の記述を加えます。
import NCMB
import UserNotifications
※順番は必ずNCMBを上にします。
Pushの設定を記述
Xcode内での作業の最後に「AppDelegate.swift」にコードを記載します。
今回参考にさせてもらったのは、こちらです。
この記事の内容通りにやったらエラーなくビルドができました。
参考:https://qiita.com/natsumo/items/ebba9664494ce64ca1b8
mBassの設定
pushで一番厄介なのは、mBassでの処理です。正確にはmBassというより、mBassの登録に必要な証明書を作成するのが一番厄介でした。
下記の記事が一番まとまっていたので、こちらで対応しました。
証明書の大きな流れ
詳細の設定は参照の記事をご覧ください。ここでは、証明書の大きな流れを掴んでいただければと思います。
まず、証明書を取得する前に一番必要な「証明書p12」を取るために、いくつか他の証明書を取得して、順番に連携させながら取得する必要があります。そのために大きな流れを理解して置く必要があります。
- デベロッパーであることを証明する
- まずは、お使いのPCかMacで自分がこのマシンの所有者で開発に携わる人間であることを証明します。
- そのために、Macであればキーチェーンから証明書を書き出します。
- そのマシンを所有していることを登録して、Appleの開発者であることを示す「開発用証明書(.cer)」を取得します。
- ここで先に作ったマシンの証明書が必要になります。
- 注意して欲しいのが開発者用の証明書がアップデートが続いたりするといくつも保有するケースがあります。保有できる数に制限があるので注意してください。
- 数がいっぱいになってしまったら、削除してください。
- 参照:http://takesita.seesaa.net/article/453959282.html
- アプリとひもづけるためのAppIDの取得します。
- 次に、アプリとDeveloperをひもづけるために「Bundle ID」が必要になります。
- これを登録することで、アプリと開発者がひも付きます。
- BundleIDの確認はこちら
- 開発端末の登録します。
- そして、開発者とアプリと開発端末を紐付けるために、開発用の端末を登録します。
- そして、その3つを紐付けます(プロビショニングプロファイルの作成)
- 最後に、証明書を作成します。
- 証明書をローカルに保存し、ローカルでp12を書き出しを行います。
- 書き出したファイルをmBassと紐付けて登録が完了します。