[英]Iphone5 / ios6.1.3 and Facebook SDK 3.2.1 on iOS - com.facebook.sdk Error 2 on device
當我運行LoginUI並單擊“取消”按鈕時,嘗試登錄而不是無法再次登錄
我嘗試在iOS上使用Iphone4s / ios6.1.3和Facebook SDK 3.2.1,而不是取消登錄才能再次登錄。
iphone5發生了什么:
[FBSession.activeSession closeAndClearTokenInformation];
不行
這是我的代碼:
- (void)sessionStateChanged:(FBSession *)session
state:(FBSessionState) state
error:(NSError *)error
{
switch (state) {
case FBSessionStateOpen:
if (!error) {
}
break;
case FBSessionStateClosed:
case FBSessionStateClosedLoginFailed:
[FBSession.activeSession closeAndClearTokenInformation];
break;
default:
break;
}
[[NSNotificationCenter defaultCenter]
postNotificationName:FBSessionStateChangedNotification
object:session];
if (error) {
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:@"Error"
message:error.localizedDescription
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
}
- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
return [FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
[self sessionStateChanged:session
state:state
error:error];
}];
}
- (void) closeSession {
[FBSession.activeSession closeAndClearTokenInformation];
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
return [FBSession.activeSession handleOpenURL:url];
}
- (void)sessionStateChanged:(NSNotification*)notification {
if (FBSession.activeSession.isOpen) {
if (nil == self.facebook) {
self.facebook = [[Facebook alloc]
initWithAppId:FBSession.activeSession.appID
andDelegate:nil];
self.facebook.accessToken = FBSession.activeSession.accessTokenData.accessToken;
self.facebook.expirationDate = FBSession.activeSession.accessTokenData.expirationDate;
}
} else {
self.facebook = nil;
}
}
- (void) Loginfb {
AppDelegate *appDelegate =
[[UIApplication sharedApplication] delegate];
if (FBSession.activeSession.isOpen) {
} else {
[appDelegate openSessionWithAllowLoginUI:YES];
}
我該如何解決? Thanks in advance.
如果您使用系統Facebook帳戶登錄並且未使用快速應用程序切換登錄,則在用戶首次拒絕“讀取”權限時,您的應用程序在手機的Facebook隱私設置中的訪問權限設置為關閉。
從那時起,您將無法再使用SDK授予訪問權限。 相反,用戶必須手動進入手機的“設置”-“隱私”-“ Facebook”並啟用對您的應用程序的訪問。
這不適用於“發布”權限。 即使用戶第一次拒絕“發布”權限,您也可以使用SDK繼續請求“發布”權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.