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/にバグレポートを投稿することを忘れないでください。
アレックス