Вы не можете устанавливать или читать файлы cookie для запросов CORS через JavaScript. Хотя CORS разрешает запросы с кросс-началом, куки-файлы по-прежнему зависят от политики браузера с одинаковым исходным кодом, что означает, что только страницы из одного источника могут читать / записывать cookie. withCredentials
означает, что любые файлы cookie, установленные удаленным хостом, отправляются на этот удаленный хост. Вам нужно будет установить cookie с удаленного сервера с помощью заголовка Set-Cookie
.
К на самом деле ответ Ваш вопрос:
№
cookie Мобильного Safari не доступны из приложений SDK. И каждому приложению SDK дают его собственный кэш WebKit и хранилища cookie, поэтому в то время как cookie сохранятся в рамках того же приложения, они не доступны между приложениями.
Из-за игры в песочнице на iPhone у Вас нет доступа к cookie Safari. Можно только получить доступ к cookie, созданным в рамках приложения - UIWebView, например.
Хотя Вы задали тот же вопрос дважды прежде , вот один подход, еще не упомянутый...
Это может быть немного замысловатым, но можно сделать вещи Механика-esque с UIWebView. Что-то вроде этого:
stringByEvaluatingJavaScriptFromString , я использовал эту технику для улучшения сторонних страниц в приложении для iPhone, но я не уверен, считает ли это cookie из того же места как мобильный Safari.
Стоящий того, чтобы попытаться, хотя?
Возможно, вы захотите проверить
if ([[NSHTTPCookieStorage sharedHTTPCookieStorage] cookieAcceptPolicy] != NSHTTPCookieAcceptPolicyAlways) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
}
Но, видимо, NSHTTPCookieStorage даже не хранит куки с последнего запроса в текущем приложении на iOS (rdar://8190706)