基本上我的应用程序使用safari登录到facebook ive但登出不合适我已经在appdidfinishlaunching和buttonaction使用会话closeandcleartoken但不知何故会话仍然在那里它并没有提示用户再次直接登录他们的名字可以访问Facebook页面
答案 0 :(得分:1)
facebook-ios-sdk logout question
Understanding NSHTTPCookieStorage for the iPhone
OLD UPDATE(请参阅下面的新更新):我认为以下链接可能对您有用,请尝试给我一个反馈,谢谢。
Is it possible to change iOS Safari settings programmatically
NEW UPDATE://因为我们无法清除safari的cace,所以这个想法可能对你有用。
//概念是 - >在你的应用程序中,你需要创建设置页面(检查在iPhone的设置,是否有任何Facebook帐户?如果是的话你可以将图像发布到Facebook(你可以使用uiswitch,当用户切换Facebook服务打开时,它会检查在iPhone的设置菜单中,是否有任何Facebook帐户?如果是,您可以打开Facebook服务))。然后你需要创建“分享页面”,在“分享页面”中将检查你的应用程序的设置页面,Facebook服务是否开启?如果是,那么你可以分享图像到facebook,所以我们可以说在共享页面中将有一个共享图像到Facebook的代码,并在您的应用程序的设置页面应该类似于以下内容。 So we just let user log in and log out facebook in iphone setting, and we just check user's account from iphone's setting, so you don't have to headache with facebook logout problem anymore :)
,在ios 5中,iphone设置中没有facebook,所以你别无选择,我在应用程序商店中寻找热门app的解决方案,我想出这个解决方案,请看下面的代码,希望它帮助,实际上我已经回答了你的问题范围,所以这就像扩展问题,所以下次请发一个新问题,希望它至少引导你走正确路径:)。
- (void) facebookAuthen
{
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:@"com.apple.facebook"];
if (accountType == nil) { // ios lower than 6
if (FBSession.activeSession.isOpen) {
[appDelegate closeSession];
NSLog(@"session close");
} else {
[appDelegate openSessionWithAllowLoginUI:YES];
NSLog(@"open session");
}
}
else { // ios 6
NSDictionary* options = [NSDictionary dictionaryWithObject:@"your facebook id" forKey:ACFacebookAppIdKey];
[accountStore requestAccessToAccountsWithType:accountType options:options completion:^(BOOL granted, NSError *error) {
if(granted) { //has an account in iphone's setting
// do something
}
else {
// show alert
}
}];
}
}