2017-06-15 15 views
1

タイマーで何らかのアクションを実行するバックグラウンドタスクを作成したいのですが、アプリが終了したときにそのタスクを強制終了しないでください(たとえば、ホームボタンをダブルクリックしてその「リスト」からアプリケーションを削除します)。iOS(Swift)でバックグラウンドプロセスを作成する方法は?

+3

短答;できません。場所やオーディオ/ビデオなどのために利用できる特定のバックグラウンドモードがあります。これらは、iOSアプリケーションプログラミングガイドに記載されています。特定の時刻に表示するようにローカル通知をスケジュールすることができます。 – Paulw11

+0

Paulw11の100%が正しい。 Appleの立場は、開発者にユーザーの信頼を奪う余裕がないようにすることです。場合によっては、合法的なユースケースを妨げることを意味します。利益は損失を上回ります。悪意のある開発者や悪意のある開発者が任意のバックグラウンドプロセスを乱用する可能性のある方法は、ほぼ即座に発生するため、Appleは許可して実装するものをホワイトリストに登録します。 – Tommy

+1

これをやりたい理由を説明すると、おそらく助けになるでしょう。後になっていることを達成するための他の方法があるかもしれません。 –

答えて

0

iOSでアプリが強制終了された後にタイマーが動作しません。アプリケーションを強制終了すると、OSはすべてのアプリケーションタイマー、実行ループ、およびバックグラウンドスレッドを強制終了します。すべてのあなたのアプリケーションの実行可能コードはメモリから解放される可能性が高いので、実行することさえありません。

ローカル(またはリモート)通知をスケジュールすることはできますが、ユーザーの操作なしにアプリ内のコードを実行することはできません。デバイス上でIFTTTアプリが動作していて、それが殺されていない場合は、アプリを定期的に起動するようスクリプトを作成することができます。

関連する問題