2016-02-18 27 views
6

バックグラウンドフェッチでURLからデータを取得しようとしています。 My funcはデータを取得しようとします。新しいデータがある場合は、ローカル通知を送信します。バックグラウンドフェッチは、アプリを最小化すると約10〜20分後に機能します。しかし、私はアプリを(ダブルクリックホームボタンと閉じるアプリ)を殺すときに動作しません。私は約1時間待ったが、うまくいかなかった。私はアンドロイドでバックグラウンドサービスを使用しており、正常に動作しています。アプリケーションが閉じられたときに、URLからデータを取得してローカル通知を送信する方法はありますか?私はXcode 6とスウィフト1.2を使用していますアプリを強制終了してもバックグラウンドフェッチが機能しない

+0

ホープこれはあなたに役立ちますhttp://www.raywenderlich.com/92428/background-modes-ios-swift-tutorial –

+0

これを達成する唯一の方法は[PushKit](https: //developer.apple.com/library/prerelease/ios/documentation/NetworkingInternet/Reference/PushKit_Framework/index.html)、それについての質問があります[ここ](http://stackoverflow.com/questions/19068762/will -ios-launch-my-app-in-the-background-to-the-force-quit-by-the-user)を使用して、 – Wez

+0

プッシュ通知を使用して、終了したアプリを再開します。 –

答えて

19

マルチタスキングUIでユーザーがそれを殺した後、バックグラウンドフェッチはアプリでは起こりません。これは設計によるものです。バックグラウンド実行をサポート

アプリは着信イベントを処理するためのシステム でリニューアルすることができる。

は言及Apple's documentationを見てみましょう。アプリは、ユーザーの力以外の がそれを終了何らかの理由で終了した場合、システムは、システムが彼らの後にアプリケーションを再起動しません。ほとんどの場合、アプリ...

を起動しますユーザーが強制終了します。 1つの例外は、iOS 8および の後に、ユーザーが強制終了した後に再起動されるロケーションアプリです。ただし、別の の場合は、アプリを明示的に起動するか、 デバイスを再起動してから、アプリがバックグラウンドで のバックグラウンドに自動的に起動する必要があります。

あなたがドキュメンテーションに気付いたように、アプリケーションが強制終了された場合に再起動される場合は、ロケーションサービスを使用して1つの例外があります。残念ながら、これはあなたには当てはまりません。

また、アプリがユーザーによって強制終了されたかどうかを検出することはできません。これをチェックしてくださいStackOverflow answer

+0

ios 10 swift 3.0でアプリ終了後にコードを実行する可能性はありますか? –

+0

@PatelGigar No. iOS 10は、このようにiOS 9および8と同じように動作します。再度、これは設計によるものです。 – Alex

+0

ohkありがとうございました@alex –

4

ユーザーがバックグラウンドからアプリを削除した後、アプリでBackground Fetchingが更新されません。それは可能ではありません

+0

助けてくれてありがとう – Garry

+0

ようこそ........ –

関連する問題