Выход из Facebook из сафари, но не в приложении на iPhone

Я использую ShareKit для размещения любого изображения на Facebook.

Итак, я столкнулся с проблемой последних нескольких дней. После авторизации приложения из Facebook, когда я выхожу из Safari, он также не выходит из приложения. Я использую функцию единого входа (SSO).

и я проверяю, что та же функция работает нормально в Android. Они также используют SSO. Когда они выходят из приложения Facebook, они также выходят из приложения.

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

Спасибо.


person user1011291    schedule 16.10.2012    source источник
comment
Возможно, приложение для iPhone не взаимодействует напрямую с веб-браузером, как Android. Или приложение iPhone кэширует пользователя/пароль.   -  person Yicanis    schedule 16.10.2012
comment
привет, какой метод вы вызываете для выхода .. ?   -  person Nitin Gohel    schedule 16.10.2012
comment
@Yicanis Привет, спасибо за ваш ответ. не могли бы вы объяснить мне, как Android напрямую общается с браузером, а не с iPhone?   -  person user1011291    schedule 16.10.2012
comment
@NitinGohel Я не вызываю какой-либо метод, когда выхожу из Facebook в Safari, поэтому это не выход из приложения и в приложении.   -  person user1011291    schedule 16.10.2012
comment
Приложение на Android может использовать кэшированные данные браузеров Android, в то время как приложение iPhone может независимо использовать свои собственные кэшированные данные. Таким образом, если вы удаляете данные Android, это затрагивает как браузер, так и приложение, тогда как для iPhone затрагивается только браузер. Вы можете проверить эту теорию, выйдя из iPhone и браузера iPhone, а затем войдя только в приложение iPhone, а затем проверив, зарегистрирован ли также браузер iPhone или нет. Другая возможность — приложение для iPhone, сохраняющее кешированные данные браузера. Изменить: albattran ответил на него.   -  person Yicanis    schedule 16.10.2012
comment
@Yicanis Спасибо за ваш быстрый ответ. Итак, есть какой-либо код, поэтому я могу выйти из системы с обеих сторон, если я выхожу из системы с помощью Safari или в приложении. Пожалуйста, дайте мне знать   -  person user1011291    schedule 16.10.2012


Ответы (3)


При использовании веб-просмотра на iPhone он не передает файлы cookie сеанса браузеру. Следовательно, ваш WebView изолирован. Вот почему, когда вы выходите из Facebook в Safari, ваше приложение остается авторизованным. У вас может возникнуть та же проблема в Android в зависимости от того, как вы запускаете браузер. Если просто использовать обычное намерение браузера, вы в основном используете одни и те же файлы cookie, и, следовательно, если вы выйдете из одного, он выйдет из другого.

person albattran    schedule 16.10.2012
comment
я не использую веб-представление, я открываю Safari напрямую, чтобы войти в facebook, тогда это дает мне разрешение публиковать что-либо из приложения. Но я выхожу из Safari, он не выйдет из системы и в приложении, но все равно войдет из приложения. - person user1011291; 16.10.2012

Вы должны использовать UITableView, а также поместить выход UIButton в ячейку UITableView.

Напишите этот код в событии клика UIButton.

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[[defaults facebook removeObjectForKey:@"FBAccessTokenKey"];
[defaults removeObjectForKey:@"FBExpirationDateKey"];
[defaults synchronize];
person Bera Bhavin    schedule 16.10.2012

Наконец-то я нашел свой ответ, когда вы используете браузер ИЛИ сафари в Android ИЛИ iPhone для входа в систему. и опубликовать что угодно. Затем выйдите из браузера ИЛИ сафари, это также не выход из приложения, в котором мы реализуем Facebook для публикации чего-либо на стене. Они делают одну и ту же операцию в обоих случаях.

Но все же я сомневаюсь, что приложение Facebook доступно на вашем устройстве Android ИЛИ iPhone, поэтому происходит другая операция :( Мне также нужно искать это.

Спасибо за все ваши ответы и помочь мне.

person user1011291    schedule 16.10.2012
comment
Пожалуйста, либо примите свой собственный ответ, либо ответ кого-то другого, чтобы помочь другим в будущем с той же проблемой. - person Yicanis; 16.10.2012
comment
Я считаю, что albattran и комментарий, который я разместил на ваш вопрос, были правильными ответами. В этом случае будет достаточно принять ответ Альбаттрана. - person Yicanis; 16.10.2012