サードパーティのiOS 6アプリがアクティブなアプリではない場合、どのように(そしてなぜ)サードパーティのアプリはメーカーと通信しますか?


3

DNSログから、少数のサードパーティアプリに関連付けられているドメインが、関連するアプリがアクティブでないときや電話がロックされているときでも、約30分ごとまたは1時間ごとにアクセスされることに気付きました。

過去の私の理解では、サードパーティのアプリはアクティブなアプリでない限り実行されず、すべての通知は一元化されたAppleサービスを介して行われます。この通信を許可するためにどのようなメカニズムが使用されていますか?また、アプリのアクティビティがないときに頻繁に自宅に電話をかける必要がある理由は何ですか?



ありがとう。バックグラウンドでオーディオを実行するように求められたことを思い出しません。また、必ずしも永続的な接続であるとは限らず、たまに接続するだけです。通知イベントからのコールバックがあるかもしれませんが、これが起こっているときには何も表示されないので、それらはサイレント通知でなければなりません。したがって、これらのDNS要求のメカニズム(および理由)は謎です。
プソデン

iOS 7では、バックグラウンドアプリの更新(無効にする機能を含む)が許可されるようになり、無効にすることでiOS 6で発生した動作(DNSログによる判断)が妨げられるように思われるため、この質問は解決できると思います。
プソデン

結局、iOS 7でも同じ動作が見られます。アプリが完全に終了し、すべてのバックグラウンドアプリの更新が無効になっている場合でもです。OSは最近使用したが非アクティブなアプリのDNS要求を事前にキャッシュしている可能性がありますが、信頼できる答えは見つかりませんでした。
プドン14年

回答:


1

Appleは、バックグラウンドプロセスに関する記事で高レベルの機能を文書化しています。

archive.orgを見て、iOS 6のこのバージョンを見ることができますが、iOS 7のほとんどすべてが、新しい「バックグラウンドアプリの更新」機能を除いてiOS 6に適用されます。

マルチタスクがどのように機能するかについてより深く理解したい場合は、開発者向けドキュメントのこのセクションから始めます。

APNSトラフィックをキャプチャせずに(または、実行中にOSをトレースするためにInstrumentsを使用して)、30分間のアクセスがローカル通知の結果なのか、アプリが定期的に起動するサーバー側から送信されたプッシュ通知の結果なのかを判断するのは困難です。うまくいけば、これで物事の追跡を開始できます。


Appleサポート文書で何かを見落としているかもしれませんが、それは私の質問に対処していないようです。Archive.orgにはiOS 6バージョンがありましたが、これはバックグラウンドアプリの更新を除いてほぼ同じでした。しかし、ユーザー向けのドキュメントとして、包括的なものになるとは思いません。
プソデン

編集内容が表示されます。質問を投稿する前に開発者ドキュメントを実際に見ていたのですが、電話で何らかの可聴または可視の表示がなければ通知を通じてどのように機能するかはまだわかりませんでした。(よく)文書化されていない何かがiOS 6で起こっていましたが、それはまだ謎です。幸いなことに、iOS 7にこの動作を止める方法があるようです。
プソデン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.