Как удалить сессию и cookie из моего приложения для iOS
Я использую Fabric SDK для входа в Twitter в свое приложение.
Я хочу удалить сессию и cookie из моего приложения для iOS. Потому что я первый раз успешно захожу из Твиттера, используя этот SDK. Но если пользователь хочет войти в систему из других учетных данных, используя Twitter, в мое приложение, то это невозможно без четкой сессии.
Для чистой сессии в Твиттере я использую следующий Код. Но это не работает.
[[Twitter sharedInstance]logOut];
[[Twitter sharedInstance]logOutGuest];
NSHTTPCookieStorage *cookieList = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *x in cookieList.cookies)
{
if ([[x valueForKey:@"domain"] isEqualToString:@".twitter.com"])
{
[cookieList deleteCookie:x];
}
}
С нетерпением ждем ваших ответов!
2 ответа
Попробуйте добавить это, чтобы удалить куки
let cookie = NSHTTPCookie.self
let cookieStorage = NSHTTPCookieStorage.sharedHTTPCookieStorage()
for cookie in cookieStorage.cookies!
{
cookieStorage.deleteCookie(cookie)
}
В Objective-C
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *httpCookie in cookieStorage.cookies)
{
if ([[httpCookie valueForKey:@"domain"] isEqualToString:@".twitter.com"])
{
[cookieStorage deleteCookie:httpCookie];
}
}
Использовали ли вы точки останова, чтобы узнать, входит ли оно в условие de if?
Кстати, вы должны изменить код, вы не можете удалить объект из массива, пока вы его перечисляете. Может быть, вы можете использовать другую переменную, чтобы сохранить куки, когда вы найдете его и удалите из цикла forin
// РЕДАКТИРОВАТЬ
NSHTTPCookieStorage *cookieList = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSMutableArray *cookies = [[NSMutableArray alloc] init];
for (NSHTTPCookie *x in cookieList.cookies)
{
if ([[x valueForKey:@"domain"] isEqualToString:@".twitter.com"])
{
[cookies addObject:x];
}
}
if (cookies.count > 0) {
for (NSHTTPCookie *cookie in cookies) {
[cookieList deleteCookie:cookie];
}
}
Я создал массив, потому что я не знаю, сколько файлов cookie сохраняется в твиттере.