2016-03-27 74 views
0

我在使用NSURLSession登錄到使用cookie記錄成功身份驗證的網站的iOS應用程序時遇到問題。對於NSURLSessionConfiguration,實際的差異背景默認值是多少?

使用defaultSessionConfiguration()我沒有問題。 (它甚至在應用程序在後臺並通過遠程推送消息觸發時起作用。)

當我將會話配置爲使用backgroundSessionConfigurationWithIdentifier()時,我可以進行身份​​驗證,但是後續下載不存在相應的Cookie。

當應用程序位於前景和背景中時,使用backgroundSession失敗。

所以必須有影響餅乾的默認和背景之間的區別。這兩種配置都記錄爲使用共享cookie存儲。

有沒有人有解釋和/或解決這個問題?

回答

0

這有幾個原因。其中之一是因爲您沒有啓用.plist中的後臺獲取設置。另一個原因是需要在整個應用程序中使用標識符持續進行會話,這是爲什麼您的Cookie不會在後續下載中顯示的原因之一,因爲某些內容正在切換。

defaultSessionConfiguration正如你所期望的那樣工作,而且你習慣了,但是backgroundSessionConfiguration是完全不同的,你需要設置一些東西。

我會建議通過這個閱讀來獲得它的不同之處,你可以做一些信息:https://medium.com/swift-programming/learn-nsurlsession-using-swift-part-2-background-download-863426842e21#.vejklegsp

我希望這是有幫助的!

+0

感謝您的建議。 – andymc

+0

感謝@ dokun1的創意。我爲所有請求使用同一個會話。我啓用了後臺獲取 - 因此我可以完成登錄驗證和請求頁面。我的問題依然存在:**默認和後臺會話有什麼區別?**我的應用程序功能齊全 - 包括在後臺 - 使用默認配置。文檔說在進行後臺操作時使用後臺配置。當我使用後臺配置時,我無法使用我的服務器進行身份驗證。那麼,這兩個配置之間的**真正的區別是什麼? – andymc