2016-10-11 8 views
1

私はちょうどそれが後にいくつかのコードを実行することが可能かどうか、アプリが終了したのだろうかと思っていた。私は、リモートデータベースのデータを数秒ごとにアプリケーションでチェックしたいと思っています。何か変更があった場合は、ユーザーに通知する必要があります(ローカル通知を使用してください)。アプリが実行されている間、私はNSTimerのインターバルメソッドを使用してこれを簡単に行うことができますが、アプリが終了した場合の代替方法が不思議でした。私がGoogleの周りにいる場合、これは文字通りこれを行う方法はないようですが、それはあなたに通知することができるアプリケーションのボート負荷があるので(ソーシャルネットワーキングアプリケーションなど)、あなたに告げることができるので、ちょっと奇妙で、アプリが完全に閉鎖されていても、あなたのアカウントで何か起こりますか変更されます。私のデバイスに私に通知したいのであれば、それらのアプリは最終的にいくつかのコードを実行しなければならないと確信していますよね?どうやってやっているの?アプリが終了した後にコードを実行する...可能ですか? (Xcode 8、Swift 3)

+0

これはあなたを助けるかもしれない: https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html – janusbalatbat

+0

あなたは、サーバーからのプッシュ通知を使用する必要があります。ポーリングは、バッテリとネットワークのデータに関して非常に非効率的です。 – Paulw11

+0

@janusfidelこのドキュメントでは、バックグラウンドの実行についてのみ説明しています(アプリがまだ開いているときはバックグラウンドで、デバイスのホームボタンを押した後など)。私はそれが私が求めているものではないと確信しています。これはまた、アプリケーションが終了した後の実行を参照していますか?(完全にシャットダウンし、ホームボタンをダブル押しして、アプリケーションのスクリーンショットをスワイプした後)? –

答えて

1

"バックグラウンドで実行する"と "アプリケーションを終了する"という自分の定義を理解した上で、私はこの最も尋ねられる質問に最も適切でありながら簡単な答えを推測しています:いいえ、できません!あなたのクライアント側(私の場合、Xcode)に書かれたいくつかのコードをトリガする唯一の方法は、リモートサーバ上でいくつかのイベントが発生したことをクライアントに通知することです。 APNSは、クライアントが適切な方法で通知に「応答」する必要があります。しかし、ユーザーがアプリを終了させた後でも(スクリーンショットをスワイプしてアプリを終了させるためにホームボタンを2回押しても)Xcodeにコードを書き留めることができるかどうかは、私が尋ねたものです。いいえ!リモートサーバーがプロセスに関与しなくてもこれを行う方法はありません。

関連する問題