AFAIK mọi ứng dụng có lưu trữ cookie của riêng mình vì vậy hãy thử sử dụng mã này trước khi render trang trong 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);
Tôi không phải là trong một MAC ngay bây giờ để im không thể kiểm tra nó hy vọng điều này giúp
sao xin lỗi, tôi đã không thể kiểm tra nó trước khi gửi bài, dù sao tôi sẽ không về nhà cho đến khi đêm nay để cung cấp cho này một spin
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);
Như bạn đã nói ở trên, trong trường hợp đó không hoạt động có thể là một lỗi trên ràng buộc để MonoTouch bạn có thể gắn nó bằng tay bằng cách làm này
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);
cũng đừng quên để bao gồm using MonoTouch.ObjCRuntime;
nếu tự ràng buộc nó
nếu tác phẩm bằng tay gắn xin đừng quên gửi một báo cáo lỗi trên https://bugzilla.xamarin.com/
Alex
Điều này sẽ ném một 'ArgumentNullException' khi thêm cookie vào bộ nhớ, vì cookie được trả về với mã của bạn là null. – Timm
Dường như tôi đã tìm thấy lỗi trên liên kết NSHttpCookie! Tôi đã nộp nó. Tôi cũng đang cập nhật câu trả lời bằng cách giải quyết. – Anuj
Cảm ơn, tôi sẽ theo dõi [báo cáo lỗi] (https://bugzilla.xamarin.com/show_bug.cgi?id=3603) và thử giải pháp của bạn. – Timm