My UIWebview не сохраняет файлы cookie вообще. Он застрял в режиме cookieless, и в результате веб-страница вместо этого помещает информацию cookie в url.UIWebview не получает файлы cookie
Вот что я делаю. У меня есть синглтон для моего UIWebview и 4 кнопок UITabBar внизу. Каждая кнопка на вкладке выводит пользователя на другую страницу на сайте. Теперь, когда пользователь перемещается по сайту через веб-просмотр, все в порядке, и сеанс сохраняется. Но второй пользователь нажимает кнопку на вкладке, сеанс сбрасывается.
Я даже установил NSHttpCookieStorage, чтобы всегда принимать файлы cookie. Все еще нет.
Вот код для моего одноточечного для UIWebView и NSMutableUrlRequest
public static UIWebView instance;
public static NSMutableUrlRequest urlRequest;
public static NSUrlConnection connection;
public static NSHttpCookieStorage cookie;
static bool TokenSent = false;
public UIWebViewSingleton() {}
public static UIWebView Instance
{
get
{
if (instance == null)
{
Debugger.Debug ("new uiwebview created");
cookie = NSHttpCookieStorage.SharedStorage;
cookie.AcceptPolicy = NSHttpCookieAcceptPolicy.Always;
connection = new NSUrlConnection();
instance = new UIWebView(new RectangleF(0f, 0f, 320f, 416f));
instance.ScalesPageToFit = true;
instance.LoadStarted += delegate {
UIApplication.SharedApplication.NetworkActivityIndicatorVisible = true;
};
instance.LoadFinished += delegate {
UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false;
AcquireUserId();
};
instance.MultipleTouchEnabled = false;
}
return instance;
}
}
public static NSMutableUrlRequest UrlRequest
{
get
{
if (urlRequest == null)
{
urlRequest = new NSMutableUrlRequest();
}
return urlRequest;
}
}
Это, как я перейти на страницу на основе кнопка была нажата. Кнопка «Назад» работает нормально.
case BTN_BACK:
btn_ret.TouchUpInside += delegate(object sender, EventArgs e) {
UIWebViewSingleton.Instance.GoBack();
};
break;
case BTN_GUIDE:
btn_ret.TouchUpInside += delegate(object sender, EventArgs e) {
UIWebViewSingleton.UrlRequest.Url = new NSUrl(StaticFileNames.GuideUrl);
UIWebViewSingleton.Instance.LoadRequest (UIWebViewSingleton.UrlRequest);
};
break;
case BTN_HOME:
btn_ret.TouchUpInside += delegate(object sender, EventArgs e) {
UIWebViewSingleton.UrlRequest.Url = new NSUrl(StaticFileNames.BaseUrl);
UIWebViewSingleton.Instance.LoadRequest (UIWebViewSingleton.UrlRequest);
};
break;
У кого-нибудь есть идеи относительно того, почему мой UIWebView не принимает файлы cookie? Я все еще запутался в NSHttpCookieStorage, и если я правильно его использую.
Большое спасибо.
Являются ли они постоянными кукисами, а не сессионными куки? – Gruntcakes
Я могу проверить это в хроме, и я получаю файл cookie правильно. – apexdodge