DidReceiveRemoteNotification:fetchCompletionHandler からの警告を解析します

StackOverflow https://stackoverflow.com//questions/20009006

  •  20-12-2019
  •  | 
  •  

質問

parse.com から次のコードを追加すると、エラーが発生します。

- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
    if (application.applicationState == UIApplicationStateInactive) {
        [PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo];
    }
}

何が起こっているのかよくわかりませんが、ログに次の警告が表示されます。

実装しました - [アプリケーション:DidReceiverEmotenotification:fetchCompleationHandler:]が、info.plistのサポートされているuibackgroundmodesのリストに「リモートノット化」を追加する必要があります。

plistファイルに追加すると思います UIBackgroundModes - remote-notification 問題は解決するでしょう、

しかし、これを実行すると、単語が次のように変わります。

Required Background Modes -> App downloads content in response to push notifications

私のアプリではこれができないので、そもそもなぜこれを行うのか混乱しています。

役に立ちましたか?

解決

リモート通知に応じてデータをフェッチするつもりがない場合は、このデリゲート メソッドを実装できると思います。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 

例えば

- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo {
    if (application.applicationState == UIApplicationStateInactive) {
        [PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo];
    }
}

現在使用しているものの代わりに。

他のヒント

キーを手動で追加したくない場合は、 .plist ファイルを作成し、@MurraySagal の回答のグラフィカル バージョンを次に示します。1 から 7 の手順に従ってください。これで完了です。:)

enter image description here

注記:手順を読み上げることができない場合は、次の方法を組み合わせて現在のタブをズームアウトできます。 指示++ (ズームイン用) および 指示+- (ズームアウト用)。もし 指示 動作しません、試してみてください Ctrl.

@djshiow では問題が解決していないと思います。

info.plist ファイルに以下を追加する必要があります。

remote-notification

1) 新しい行を追加し、左側の列で選択します。 必要なバックグラウンドモード.

2) 項目 0 の行で、右の列をクリックして次のように入力します。 リモート通知. 。Enterを押します。

ソース: http://hayageek.com/ios-silent-push-notifications/

Xcode 6 の場合:

  • プロジェクトナビゲータでプロジェクトをクリックします
  • 「プロジェクトとターゲット」リストでターゲットをクリックします。
  • クリック機能
  • バックグラウンドモードを展開してオンにします
  • 「リモート通知」をクリックします

これにより、 Required background modes キーと App downloads content in response to push notifications に値を付ける info.plist.

新しいdidReceiveを使用すると...このメソッドでは、次の 2 つのことを行うことが期待されています。

  1. plist に必要なエントリを追加します
  2. データを処理するイベントを処理する完了ハンドラーを追加します。

データをダウンロードしたくない場合は、これを DidReceive... に追加できます。方法

completionHandler(.NoData)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top