2015-01-14 1 views
6

私はこれに関する情報を見つけようとしてきましたが、何も見つかりませんでした。実装したいアイデアがいくつかあり、アプリがアプリの切り替えに含まれていなくてもバックグラウンド同期ができることを期待していました。このStack Qverflow questionは、ユーザーが強制終了した場合、iOSが起動してタスクを実行することはありません。私はその考えを今まで断念しました。アプリが閉じられて強制終了されると、Dropbox Carouselはどのように同期しますか?

私は最近Dropbox Carouselをインストールし、自動写真アップロードに使用しています。 Dropboxに写真をアップロードするためには、毎回アプリを開かなければならないと思っていました。しかし、完全に閉じて(強制終了)、私は自分のコンピュータにいる間、私はファイルがDropboxに追加されていることに気づいた。

どうやら、カルーセルは、アプリがアプリのスイッチャーにいなくても、バックグラウンドで写真をアップロードしています。 Dropboxはどのようにそれを行うことができますか?何か不足していますか?

私はこの現象が断続的に気付きました。写真のようにすぐにアップロードされるのではなく、特定の間隔でバッチがアップロードされました。スクリーンをオフにして)。

+0

バックグラウンドアップロードでNSURLSessionを使用している可能性があります – Paulw11

答えて

3

私の推測では、カルーセル(バックグラウンドでのアップロードが似ているすべてのiOSアプリ)はSignificant-Change Location Serviceを使用してバックグラウンドアップロードを行います。このサービスは、アプリケーションが終了しても強制的に起動します(強制終了)。

重要な変更の位置情報サービスを実行したままにしておき、その後iOSアプリケーションが一時停止または終了すると、サービスは新しい場所データが到着したときに自動的に起動します。起床時に、アプリはバックグラウンドに置かれ、位置情報サービスを手動で再起動して位置情報を処理するために、わずかな時間(約10秒)が与えられます。彼らはこの技術を使用している

Carousel docsドロップの追加ヒント:「あなたのiPhoneの場所で大きな変化」。

2

のApp バックグラウンドで実行することができるかもしれないいくつかの方法があります。

  1. 位置認識アプリケーションとして自身を登録は。システムは、あなたがあなたのデバイスを持ち運び、場所変更イベントを起こしたときに実行するための時間をAppに与えます。
  2. アプリは「背景の更新」を行うことができます。
  3. アプリは「サイレントコンテンツ利用可能」プッシュ通知を行うことができます。

アプリケーションは3つの選択肢のすべてを使用している可能性があります。プッシュ通知を無効に

  • 設定=>一般=>アプリのバックグラウンド更新
  • :設定=>プライバシー=>バックグラウンド更新を無効にするロケーションサービス
  • :無効ロケーションサービス
    1. :あなたはでそれをテストすることができます設定を= >通知

    上記の3つの場所のそれぞれに記載されているかどうかを確認してください。

    ユーザーが明示的に起動していないアプリは、アプリの切り替えに表示されません。

  • +0

    3つの方法はすべて、リンクされたスタックオーバーフローの質問と矛盾します。強制終了した後にiOSを立ち上げることはできないようだ。位置認識の方法は可能かもしれませんが、Dropbox Carouselアプリケーションは場所とは関係がないため、承認されることは非常に疑問です。他の2つの状況では、他の回答が確実に機能しないと言います。 – kolossal7

    +0

    「バックグラウンド更新」と「サイレントプッシュ」の場合、iOSは強制終了するとアプリを再起動しません。しかし、#1 "ロケーションサービス"には、それを実現させるためのいくつかの方法があります。これはAppleによって明確に文書化されています。次のロケーションサービスは、(1)重要なロケーションの変更、(2)地域の監視サービス、 (3)訪問サービス。 メインのDropboxアプリは、バックグラウンドアップロードのためにロケーションサービスを使用します。 (設定を確認=>カメラアップロード) –

    +0

    あなたのデバイスにDropbox Appがあり、 "バックグラウンドアップロード"を有効にしていますか?もしそうなら、私は、写真が回転箱ではなく、Dropbox Appによってアップロードされていなければならないと推測しています。両方のAppsは同じベンダーのものであるため、「App group」を介していくつかの*データを共有することができます。 (確かにカルーセルアプリはローカル写真にアクセスでき、リモート写真のためにDropboxサーバーにリクエストすることができます) –

    関連する問題