基本的に私のアプリはサファリを使用してFacebookiveにログインしますが、ログアウトは適切ではありません。appdidfinishlaunchingとbuttonactionでセッションcloseandcleartokenを使用しましたが、どういうわけかセッションはまだそこにあり、ユーザーに名前を再度ログインして直接アクセスを許可しません。フェイスブックのページ
1 に答える
以下の2つのリンクを確認してください。お役に立てば幸いです。
iPhone用のNSHTTPCookieStorageを理解する
古い更新(以下の新しい更新を参照):次のリンクが役立つと思います。フィードバックをお寄せください。ありがとうございます。
iOSSafariの設定をプログラムで変更することは可能ですか?
新しい更新://サファリのペースをクリアできないため、これはあなたに役立つかもしれないアイデアです。//コンセプトは->アプリで設定ページを作成する必要があります(iphoneの設定でFacebookアカウントがあるかどうかを確認するには?はいの場合はFacebookに画像を投稿できます(ユーザーがFacebookサービスを切り替えるときにuiswitchを使用できます)オンにするには、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がないので、選択の余地はありません。アプリストアで人気のアプリから解決策を探します。この解決策を見つけたら、以下のコードを見てください。お役に立てば幸いです。実際、私はすでにすでに質問の範囲に回答しているので、これは拡張質問のようなものです。次回は新しい質問を投稿してください。少なくとも正しい道に導いてくれることを願っています:)。
- (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
}
}];
}
}