के बीच सत्र को बनाए रखा नहीं है मेरे ऐप में मैं UIWebView के माध्यम से उपयोगकर्ता को लॉगिन करने का प्रयास कर रहा हूं। सफल लॉगिन कुकीज़ पर NSHTTPCookieStorage
में सेट हैं। UIWebView में मेरे कुछ ऐप पेज खुले हैं।UIWebView
जब विशेष वेब पेज के लिए अनुरोध भेजता है, तो यह जांचता है कि उपयोगकर्ता लॉग इन है या नहीं, कुकीज़ पर आधारित है या नहीं।
मैंने जांच की कि कुकीज़ NSHTTPCookieStorage
में मौजूद हैं, लेकिन सर्वर पर मान्य कुकीज़ नहीं हैं। यही है, यह उपयोगकर्ता को लॉग आउट उपयोगकर्ता के रूप में मानता है।
लोड UIWebView के लिए मेरे कोड के रूप में नीचे है:
let url = serverURL + urlString
let urlRequest = NSMutableURLRequest(URL: NSURL(string: url)!)
webPage.loadRequest(urlRequest)
मुझे भी NSURLSession
और HTTPHeaderField के रूप में कुकी सेट करने के साथ की कोशिश की। नीचे इसके लिए मेरा कोड भी है:
let URLRequest: NSMutableURLRequest = NSMutableURLRequest(URL: NSURL(string: url)!)
let cookies = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookiesForURL(NSURL(string: serverURL)!)
for cookie in cookies!{
URLRequest.setValue(cookie.value, forHTTPHeaderField: cookie.name)
}
let sessionConfig = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: sessionConfig, delegate: self, delegateQueue: nil)
let task = session.downloadTaskWithRequest(URLRequest)
task.resume()
यह कुछ मामलों के लिए ठीक से काम कर रहा है। मैं यह नहीं ढूंढ पा रहा हूं कि कुकीज़ के साथ क्या समस्या हो सकती है।
किसी भी मदद की सराहना की जाएगी।
अग्रिम धन्यवाद
'WKWebView' (आईओएस 8+) की कोशिश करने पर विचार करें। इसके साथ आप पिछले प्रयुक्त इंस्टेंस से 'कॉन्फ़िगरेशन' प्रॉपर्टी को नए बनाए गए और _maybe_ पर कॉपी कर सकते हैं, यह कुकीज़ को सुरक्षित रखेगा। वैकल्पिक रूप से, ऐप के अलावा UIWebView के _one_ उदाहरण का उपयोग करें। – werediver
मुझे इसी तरह की समस्या का सामना करना पड़ रहा है, कृपया –