2010-09-08 45 views
4

所以我只是好奇,如果NSHTTPCookieStorage是持續的跨應用程序,或本地只有當前。我想在搜索應用程序中訪問其他應用程序中收集的一些Cookie。它是如何工作的?謝謝!NSHTTPCookieStorage是否堅持跨應用程序?

PS:這是在iPhone或iPad上。

回答

6

對於iOS,Cookie不在應用程序中共享。每Apple's documentation,

iOS注:在iOS中的應用程序之間不共享Cookie。

+0

呸,你知道的一種方式做到這一點?我嘗試將Cookie存儲保存到UserPrefs,但似乎沒有工作。我只需要讓他們成爲全球。當我完成後,我會手動刪除它們... – gabaum10 2010-09-09 13:18:27

+0

如果您希望能夠共享任何其他應用程序中收集的Cookie(包括您未寫入的應用程序),我認爲您運氣不佳。即使您設法在全球範圍內保存cookie存儲,所有其他應用程序也需要執行相同的操作。蘋果不會讓應用程序輕鬆溝通;他們每個人都在自己的安全沙箱中。您可以嘗試在搜索應用程序中註冊自定義URL處理程序,並將數據編碼到具有Cookie的應用程序中的自定義URL(如果您編寫了該應用程序)。有關此方法的更多信息,請參閱http://j.mp/WjLQu。 – Greg 2010-09-09 15:13:15

+0

我想出了一個解決方法。基本上,我只是通過URL方案傳遞信用,並重新連接服務器以重新驗證憑據。醜陋而不是超高效,但它的工作原理並沒有改變用戶體驗。謝謝您的幫助! – gabaum10 2010-09-09 15:30:05

1

創建一個解決方法,我只是將憑據傳遞給新應用程序並重新連接到服務器。不是很有效率,但可以通過,直到找到更好的東西...

0

正如格雷格所說,沒有。每個應用程序的cookie存儲都是沙盒。


一個解決問題的方法是使用一個SFSafariViewController,新iOS9。

WebViews的這個實現不是沙盒,可以訪問Safari的cookie存儲。這意味着兩個不同的應用程序可以使用它從Safari的cookie存儲中訪問相同的cookie。

您需要編寫一個小型Web服務來處理編寫Cookie和某種API以將Cookie數據重定向迴應用程序。

Use this project作爲起點。它向您展示瞭如何從應用程序訪問Safari Cookie,而無需用戶執行任何操作。

希望這有助於 利亞姆

相關問題