AFAIK каждое приложение имеет свое собственное хранение печенья, поэтому постарайтесь использовать этот код перед визуализацией страницы в UIWebView
NSHttpCookie cookie = new NSHttpCookie()
{
Domain = "yourdomain.com",
Name = "YourName",
Value = "YourValue" //and any other info you need to set
};
NSHttpCookieStorage cookiejar = NSHttpCookieStorage.SharedStorage;
cookiejar.SetCookie(cookie);
Я не в MAC прямо сейчас, так им не в состоянии проверить, что надеюсь, что это помогает
хорошо извините, я не был в состоянии проверить его перед отправкой, в любом случае я не буду домой до вечера, так не дать этому спиновый
var objects = new object[] { "http://yoururl.com", "CookieName", "CookieValue", "/" };
var keys = new object[] { "NSHTTPCookieOriginURL", "NSHTTPCookieName", "NSHTTPCookieValue", "NSHTTPCookiePath" };
NSDictionary properties = (NSDictionary) NSDictionary.FromObjectsAndKeys(objects, keys);
NSHttpCookie cookie = NSHttpCookie.CookieFromProperties(properties);
NSHttpCookieStorage.SharedStorage.SetCookie(cookie);
Как было указано выше, в том случае, если не работает может быть ошибка на MonoTouch связывания, так что вы можете связать его вручную, делая это
var objects = new object[] { "http://yoururl.com", "CookieName", "CookieValue", "/" };
var keys = new object[] { "NSHTTPCookieOriginURL", "NSHTTPCookieName", "NSHTTPCookieValue", "NSHTTPCookiePath" };
NSDictionary properties = (NSDictionary) NSDictionary.FromObjectsAndKeys(objects, keys);
NSHttpCookie cookie = (NSHttpCookie) Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(new Class("NSHTTPCookie").Handle, new Selector("cookieWithProperties:").Handle, properties.Handle))
NSHttpCookieStorage.SharedStorage.SetCookie(cookie);
также не забудьте включить using MonoTouch.ObjCRuntime;
если вручную его связывания
если вручную переплетные работы, пожалуйста, не забудьте опубликовать сообщение об ошибке на https://bugzilla.xamarin.com/
Alex
Это добавляет «ArgumentNullException» при добавлении файла cookie в хранилище, потому что cookie, возвращенный с вашим кодом, является нулевым. – Timm
Кажется, я нашел ошибку в привязке NSHttpCookie! Я подал его. Я также обновляю ответ обходным путем. – Anuj
Спасибо, я посмотрю на [отчет об ошибке] (https://bugzilla.xamarin.com/show_bug.cgi?id=3603) и попробую ваше решение. – Timm