13 トラブルシューティング
13.1 初回起動時
13.1.1 SDKを組み込むとApp起動時にクラッシュする
- 「4 SDK付属品一覧」 の lib 以下に記されているファイルのうち、下記ファイルが、プロジェクトファイルの「TARGETS > Build Phases > Compile Sources」に含まれていることをご確認ください。
*.mファイル*.xcmappingmodelファイル*.xcdatamodeldファイル
- 「4 SDK付属品一覧」 における CoreData モデルバージョン を確認の上、モデルバージョンが正しく設定されていることをご確認ください。
13.1.2 位置情報オプトインダイアログが表示されない【位置情報を利用する場合】
-
PopinfoConfiguration.m 内の
popinfoLocationUseをYESにしているかどうかご確認ください。 -
5.2.11を正しく記述しているかどうかご確認ください。
-
再インストールの場合は、前回削除後一定期間経過しないとこのオプトインダイアログは表示されないことがあります(iOS8以上)。時の経過を待たない場合は、端末の「設定 > 一般 > リセット > すべてのコンテンツと設定を消去」によってリセットすることができます。
13.1.3 プッシュ情報オプトインダイアログが表示されない
-
iOS8以下では、再インストールの場合は、前回削除後一定期間経過しないとこのオプトインダイアログが表示されないことがあります。時の経過を待たない場合は、端末の「設定 > 一般 > リセット > すべてのコンテンツと設定を消去」によってリセットすることができます。
-
位置情報を利用する組み込みを行っている場合、5.2.11を正しく記述しているかどうかをご確認ください。
13.2 プッシュ通知
13.2.1 お知らせが届かない
-
端末の通信状態をご確認ください。
-
端末の「設定 > 通知 > アプリ名 > 通知を許可」がオンになっていることを確認してください。
-
「設定 > 通知 > アプリ名 > 通知のスタイル」において、バナーか通知(ダイアログ)が選択されている、またはサウンド、App アイコンバッジのいずれかオンになっていることを確認してください。
-
「設定 > アプリ名 > お知らせ受信の設定 > お知らせを受信する」がオンになっていることを確認してください。
-
「設定 > アプリ名 >ユーザーID」に英数字文字列が入っていることを確認してください。入っていない場合は、PopinfoConfiguration.m ファイルにおいて、
popinfoApplicationIDに対して適切な値を代入できていないことが原因である可能性が考えられます。FANSHIP 配信管理画面の左側メニュー欄から「アカウント設定 > iPhone 基本設定」と進み、「アプリケーション ID」に表示されている文字列を代入してください。 -
位置情報も利用する組み込みをされている場合、5.2.11を正しく記述しているかどうかご確認ください。
-
組み込んだアプリのプロビジョニングプロファイルのプッシュ通知が有効となっている必要があります。5.2.8をご確認ください。
-
開発版/アドホック版のアプリでプッシュ通知テストを行う場合、サーバー側のプッシュ通知証明書設定も開発版/製品版に切り替える必要があります。
-
AppDelegate.m の
applicationDidBecomeActive:内にPopinfoReceiverクラスのメソッドloadSettingsが記述されているかご確認ください。 -
AppDelegate.m の
application: didRegisterForRemoteNotificationsWithDeviceToken:内にPopinfoReceiverクラスのメソッドregisterToken:が記述されているかご確認ください。 -
アプリを起動した時に、AppDelegate.m においてデリゲートメソッド
application: didRegisterForRemoteNotificationsWithDeviceToken:がコールされているか確認してください。コールされてこない場合は念のため端末を再起動し、改善しない場合は5.2.8をご確認ください。
13.2.2 お知らせ一覧画面やお知らせ詳細画面に遷移しない
-
アプリがターミネート時にプッシュ通知が到達した場合と、それ以外の時にプッシュ通知が到達した場合では、AppDelegate.m においてコールされる位置が異なります。
SampleApp プロジェクト内の AppDelegate.m において、PopinfoReceiverクラスのreceiveNotificationメソッドが記述されている2箇所(application:didFinishLaunchingWithOptions:とapplication:didReceiveRemoteNotification:内)をご参考いただき、実装を見直してください。 -
SampleApp プロジェクト内の AppDelegate.m における
popinfoReceiver:didReceivePopinfoMessage::popup:payload:内の記述をご参考いただき、正しくお知らせ一覧画面やお知らせ詳細画面を遷移させてください。
13.2.3 プッシュ通知到達時に、バナーまたはダイアログが表示されない
-
端末の「設定 > 通知 > アプリ名」において設定されるバナーまたはダイアログは、アプリがフォアグラウンド以外の時(ターミネートやバックグラウンド時)に適用されます。ターミネート時やバックグラウンド時においてもバナーまたはダイアログが表示されない場合は、端末を再起動してみてください。
-
フォアグラウンド時にプッシュ通知が到達した際、一度ダイアログを表示させてからビューを遷移させたい場合は、SampleApp プロジェクト内の AppDelegate.m における
popinfoReceiver:didReceivePopinfoMessage:popup:payload内の実装をご参考ください。
13.2.4 お知らせ一覧画面の内容が更新されない
-
AppDelegate.m の
applicationDidBecomeActive:内にPopinfoReceiverクラスのメソッドupdateMessagesが記述されているかご確認ください。 -
一覧画面の表示内容を最新のものにするためには、FANSHIP サーバーとの通信に成功し、最新のお知らせの内容をすべて取得していることが必要です。端末のホームボタンを押下して一度アプリをバックグラウンドにし、通信状態の良好な場所で、フォアグラウンドに遷移させてください。
13.3 位置情報
13.3.1 位置情報配信が届かない
-
端末の通信状態をご確認ください。
-
端末の「設定 > プライバシー > 位置情報サービス > アプリ名」がオンになっていることを確認してください。
-
「設定 > アプリ名 > 位置情報を送信する」がオンになっていることを確認してください。
-
PopinfoConfiguration.m 内の
popinfoLocationUseを YES にしているかどうかご確認ください。 -
5.2.11を正しく記述しているかどうかご確認ください。
-
取得した位置情報は、iOS の仕様上、数百メートルから数キロの誤差をもつ場合があります。popoinfo 配信管理画面において配信を設定する際、配信対象エリアの半径を広く設定してみてください。
-
「設定 > アプリ名 > 位置情報精度」が「低」の場合、数 km 以上移動しないと位置情報が変化しない可能性があります。大幅に移動していただくか、アプリを一度ターミネートして再起動してください。
13.4 Wi-Fi
13.4.1 Wi-Fi配信が届かない
-
端末の通信状態をご確認ください。
-
端末の「設定 > プライバシー > 位置情報サービス > アプリ名」がオンになっていることを確認してください。
-
「設定 > アプリ名 > 位置情報を送信する」がオンになっていることを確認してください。
-
「設定 > Wi-Fi」において、Wi-Fi アクセスポイント名が表示されており、かつ Wi-Fi アクセスポイントに接続できていることを確認してください。
-
PopinfoConfiguration.m 内の
popinfoWifiUseを YES にしているかどうかご確認ください。 -
プロジェクトファイルの「TARGETS > Capabilities > Access WiFi Information」がオンになっているかご確認下さい。
-
5.2.11を正しく記述しているかどうかご確認ください。
-
アプリインストール後に FANSHIP 配信管理画面で Wi-Fi 送信を設定した場合は、タイムラグが生じることがあります。アプリを一度ターミネートして再起動するとともに、配信開始時刻の到来をお待ちください。
-
FANSHIP 配信管理画面で設定した Wi-Fi 配信について、ESSID 名や BSSID 名に誤記がないか、配信する期間の設定に問題がないかどうか等をご確認ください。(iPhone の場合は、「電波強度」欄はいずれの選択肢でも問題ございません)
なお、端末側の設定を変更した場合は、設定変更をサーバーに反映させるために、原則として、アプリを一度フォアグラウンドにする必要があります。