2016-03-27 7 views
0

NSURLSessionを使用するiOSアプリケーションで、Cookieを使用して正常な認証を記録するWebサイトにログインする際に問題があります。NSURLSessionConfigurationの場合、実際の差分の背景のデフォルトは何ですか?

defaultSessionConfiguration()を使用しても問題はありません。

backgroundSessionConfigurationWithIdentifier()を使用するようにセッションを設定すると、認証できますが、その後のダウンロードでは適切なCookieが存在しません。これは、アプリケーションがバックグラウンドにあり、リモートプッシュメッセージでトリガーされても機能します。

アプリがフォアグラウンドとバックグラウンドの場合、backgroundSessionの使用は失敗します。

したがって、Cookieに影響を与えるデフォルトとバックグラウンドの違いが必要です。どちらの設定も、共有Cookieストレージを使用していると文書化されています。

誰でもこの動作の説明や修正がありますか?

答えて

0

これにはいくつかの理由があります。その1つは、.plistのバックグラウンドフェッチの設定を有効にしていないためです。もう1つは、アプリ全体で識別子を使用してセッションを維持する必要があることです。これは、何かが切り替えられているために、その後のダウンロードでCookieが表示されない理由の1つです。

defaultSessionConfigurationはこれまでと同じように動作しますが、慣れていますが、backgroundSessionConfigurationはかなり異なるため、いくつかセットアップする必要があります。

私はそれが異なり、あなたが何ができるか方法についていくつかの情報を取得するには、このを通じて読んで推薦:https://medium.com/swift-programming/learn-nsurlsession-using-swift-part-2-background-download-863426842e21#.vejklegsp

私は、これは便利ですね!

+0

お寄せいただきありがとうございます。 – andymc

+0

@ dokun1というアイデアをありがとう。私はすべての要求に対して同じセッションを使用しています。バックグラウンドフェッチが有効になっているので、ログイン認証とリクエストページを完了できます。私の質問は残っています:**デフォルトセッションとバックグラウンドセッションの違いは何ですか?**私のアプリケーションは、デフォルトの設定を使用してバックグラウンドを含めて完全に機能しています。ドキュメントは、バックグラウンド操作を行うときにバックグラウンド設定を使用すると言います。バックグラウンド設定を使用すると、自分のサーバーで認証できません。では、これら2つのコンフィグの**実際の違い**は何ですか? – andymc

関連する問題