2017-08-05 11 views
0

チャットアプリがあり、それを開いてからホームボタンを押したというシナリオを想定します。今、アプリはバックグラウンドで実行されていますが、殺されていません。来るべきメッセージの通知バッジやポップアップを受け取ることはできますか? 例:新しいメッセージがあり、アプリがバックグラウンドで強制終了されて実行されていない場合、サウンドやバッジが生成されます。iOSアプリの通知がバックグラウンドで開いている(殺されていない)

私は疑いがあるので、この質問をしています。私は、アンドロイドのようなすべてのケースではなく、アップルによってあらかじめ定義されたタスクの列挙されたリストの数だけ、バックグラウンドでアプリを実行できることをオンラインで見つけました。

この場合、新しいメッセージについて通知を受けることができるかどうかを教えてください。 (サーバーなしで、プッシュ通知が使用されます)。私が欲しいのは、アプリケーションが上記のシナリオに入ったら、ローカルの通知を受け取ることです。可能であれば教えてください。

ありがとうございます。

+0

参照[この質問](https://stackoverflow.com/questions/37933387/firebase-cloud-messaging-doesnt-create but-gets-information/38445657#38445657)と[この質問](https://stackoverflow.com/questions/39914557/push-notification-not-showing-in-ios-10)も参照してください。あなたに指示を与えるための情報がたくさんあります。設定方法については、[iOSアプリケーションガイドのメッセージを受け取る](https://firebase.google.com/docs/cloud-messaging/ios/receive) – Jay

答えて

0

これを達成するためにVoIPプッシュ通知を使用できます。バックグラウンドでいくつかのコードを実行して、バックグラウンドでの通知を処理し、アプリがローカル通知を行うと決定したときに処理することができます。

しかし、6月現在、リンゴは開発者がこの方法でAPIを使用することを許可していません。WhatsAppを除き、$$私は推測しています。

あなたはPushKitを使用する必要があります:

func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, forType type: PKPushType)

func voipRegistration() { 
     let voipRegistry: PKPushRegistry = PKPushRegistry(queue: DispatchQueue.main) 
     voipRegistry.delegate = self 
     voipRegistry.desiredPushTypes = [PKPushType.voIP] 
    } 
+0

Antwa、返信いただきありがとうございます。あなたは私が上記のことをしたいのは、プッシュ通知なしでは不可能だということです。つまり、ホームボタンを押してアプリをバックグラウンドにした後に到着したメッセージの通知をアプリに表示させることはできません。右? –

+0

@JacobKaif私が知っている限り、このAPIを使用したり、古いプッシュ通知を使用したりすることはできません。 –

+0

@JacobKaifあなたはapnサービスを少し修正する必要があることを除いて、基本的に同じです.Voipプッシュ証明書を生成し、資格を追加してください。私はこれについてAppleの代理人に話しました、そして、彼らは基本的にあなたがこのようにそれを使用することを望んでいません。 whatsappを除いて、私はmentoinedのように。彼らはそれをそれを使って気にしません。 –

関連する問題