[NSHTTPCookieStorage setCookie] моего приложения уничтожает куки браузера? - PullRequest
2 голосов
/ 25 октября 2011

Я вхожу в API через [NSHTTPCookieStorage setCookie].http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSHTTPCookieStorage_Class/Reference/Reference.html

Если я войду в систему, когда мой браузер будет открыт, уже войдя под тем же пользователем на тот же сайт, и приложение, и браузер продолжат нормально работать.

Но еслиЯ Quit мой браузер, снова открываю его и возвращаюсь на сайт, cookie был потерян.Пользователь не вошел в систему.

Что здесь происходит, и есть ли способ заставить приложение использовать файлы cookie, отличные от браузера?

Альтернативно, если мы «делимся» файлами cookieмежду приложениями, есть ли способ использовать cookie-файл уже вошедшего в систему пользователя, чтобы войти в мое приложение без запроса имени пользователя / пароля?

Ответы [ 2 ]

5 голосов
/ 26 октября 2011

Вот код для создания нового файла cookie, как вы и просили: (Не проверено в XCode)

// Dictionary of attributes for the new cookie
NSDictionary *newCookieDict = [NSMutableDictionary 
                               dictionaryWithObjectsAndKeys:@".example.com", NSHTTPCookieDomain,
                                                            @"Test Cookie", NSHTTPCookieName,
                                                            @"/", NSHTTPCookiePath,
                                                            @"test1234567890", NSHTTPCookieValue,
                                                            @“2011-10-26 00:00:00 -0700", NSHTTPCookieExpires, nil];
// Create a new cookie
NSHTTPCookie *newCookie = [NSHTTPCookie cookieWithProperties:newCookieDict];

// Add the new cookie
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:newCookie];

Особое внимание к последнему элементу словаря

0 голосов
/ 25 октября 2011

Вы установили дату истечения срока действия куки? Если вы этого не сделаете, NSHTTPCookie предполагает только сеанс ( ссылка на документы )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...