AFAIK у каждого приложения есть свое собственное хранилище cookie, поэтому попробуйте использовать этот код перед отображением страницы в 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);
Как выКак указано выше, в случае, если это не работает, может быть ошибка при привязке к монотонному соединению, поэтому вы можете связать ее вручную, выполнив это
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