2017-07-22 8 views
0

私はアプリにFB SDKを統合しました。私のアプリをインストールして初めてログインしようとするとうまくいきます。しかし、私がログインせずにアプリケーションを再起動しても、それは動作しておらず、以下のスクリーンショットに示すようにWebViewで停止しています。なぜ2回目に動作しないのか理解できません。私のアプリにFB SDKを統合しました。

enter image description here

答えて

0
first import below in your viewcontroller: 

    #import <FBSDKLoginKit/FBSDKLoginKit.h> 
    #import <FBSDKCoreKit/FBSDKCoreKit.h> 
    #import <FBSDKShareKit/FBSDKShareKit.h> 
    #import <FBSDKLoginManager.h> 


- (IBAction)LoginWithFacebookButton_Clicked:(id)sender 
{ 
    NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
    NSArray* facebookCookies = [cookies cookiesForURL:[NSURL URLWithString:@"http://login.facebook.com"]]; 
    for (NSHTTPCookie* cookie in facebookCookies) 
    { 
     [cookies deleteCookie:cookie]; 
    } 

    [FBSDKAccessToken setCurrentAccessToken:nil]; 
    [FBSDKProfile setCurrentProfile:nil]; 

    FBSDKLoginManager *manager=[[FBSDKLoginManager alloc]init]; 
    [manager logOut]; 

    if ([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus==AFNetworkReachabilityStatusNotReachable) 
    { 
     [STMethod showInternetToast:self.view]; 
     return; 
    } 

    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 

    login.loginBehavior = FBSDKLoginBehaviorWeb; 

    [login logInWithReadPermissions: @[@"public_profile",@"email"]fromViewController:self handler:^(FBSDKLoginManagerLoginResult result,NSError error) 
    { 
     if (error) 
     { 
      NSLog(@"Process error"); 
     } 
     else if (result.isCancelled) 
     { 
      NSLog(@"Cancelled"); 
     } 
     else 
     { 
      NSLog(@"Logged in"); 

      FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] 
              initWithGraphPath:@"/me" 
              parameters:@{@"fields": @"id,name,email,first_name,last_name,gender,birthday,picture.type(large)",} 
              HTTPMethod:@"GET"]; 

      [request startWithCompletionHandler:^(FBSDKGraphRequestConnection connection, id Userresult, NSError error) 
       { 
        //Insert your code here 
       }  


#pragma mark - Checking for facebook user 

AFHTTPSessionManager*manager=[[AFHTTPSessionManager alloc]init]; 

    manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"]; 

        NSDictionary *[email protected]{@"fb_id":[Userresult valueForKey:@"id"],@"device_token":[NSString stringWithFormat:@"%@",[USERDEFAULT valueForKey:kToken]],@"device_type":@"ios"}; 

        [manager POST:WS_FacebookLogin parameters:parameters success:^(NSURLSessionDataTask * Nonnull task, id Nonnull responseObject) 
        { 


        } 
         failure:^(NSURLSessionDataTask _Nonnull task, NSError _Nonnull error) 
        { 

        }]; 

       }]; 
     } 
    }]; 
} 
関連する問題