facebook / facebook-ios-sdk

Used to integrate the Facebook Platform with your iOS & tvOS apps.

Home Page:https://developers.facebook.com/docs/ios

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iOS V 17.0.0 Some users cannot log in

18339689882 opened this issue · comments

Checklist before submitting a bug report

Xcode version

15.0

Facebook iOS SDK version

17.0.0

Dependency Manager

CocoaPods

SDK Framework

Login

Goals

Hello Facebook Developers,

After updating to iOS SDK 17.0.0, we have received feedback from our users that they are unable to log in using Facebook. Our current implementation code is as follows:

FBSDKLoginManager *manager = FBSDKLoginManager.new;

NSMutableArray *permissions = @[@"public_profile",
@"email"].mutableCopy;
if (enable) {
[permissions addObject:@"user_friends"];
}

[manager logInWithPermissions:permissions fromViewController:UIApplication.CPS_rootViewController handler:^(FBSDKLoginManagerLoginResult *r, NSError *e) {
CPSSocialResult *result = [[CPSSocialResult alloc] init];

if (r.token) {
    NSString *fields = [NSString stringWithFormat:@"id,name,picture.width(%.0f).height(%.0f)", size.width, size.height];
    NSDictionary *params = @{@"fields" : fields};
    
    FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:params];
    
    [request startWithCompletion:^(id<FBSDKGraphRequestConnecting>  _Nullable connection, id  _Nullable r, NSError * _Nullable e) {
        CPSSocialUser *su = CPSSocialUser.new;
        su.type = CPSSocialTypeFB;
        su.openId = FBSDKAccessToken.currentAccessToken.userID;
        su.token = FBSDKAccessToken.currentAccessToken.tokenString;
       // Use userID and tokenString to interact with the server
    }];
}

}
I have noticed that the developer documentation mentions Limited Login. I have a few questions:

In what situations should I use Limited Login (FBSDKLoginTrackingLimited), and in what situations should I use Regular Login (FBSDKLoginTrackingEnabled)?
In Limited Login mode, we obtain FBSDKProfile.currentProfile.userID and FBSDKAuthenticationToken.currentAuthenticationToken.tokenString. How should we perform the token validation process, and how does it differ from the previous validation process?
I urgently need your help to resolve the issue of users being unable to log in. Thank you!

Expected results

to log in

Actual results

login Faild

Steps to reproduce

No response

Code samples & details

FBSDKLoginManager *manager = FBSDKLoginManager.new;
    
NSMutableArray *permissions = @[@"public_profile",
                                @"email"].mutableCopy;
if (enable) {
    [permissions addObject:@"user_friends"];
}

[manager logInWithPermissions:permissions fromViewController:UIApplication.CPS_rootViewController handler:^(FBSDKLoginManagerLoginResult *r, NSError *e) {
    CPSSocialResult *result = [[CPSSocialResult alloc] init];
    
    if (r.token) {
        NSString *fields = [NSString stringWithFormat:@"id,name,picture.width(%.0f).height(%.0f)", size.width, size.height];
        NSDictionary *params = @{@"fields" : fields};
        
        FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:params];
        
        [request startWithCompletion:^(id<FBSDKGraphRequestConnecting>  _Nullable connection, id  _Nullable r, NSError * _Nullable e) {
            CPSSocialUser *su = CPSSocialUser.new;
            su.type = CPSSocialTypeFB;
            su.openId = FBSDKAccessToken.currentAccessToken.userID;
            su.token = FBSDKAccessToken.currentAccessToken.tokenString;
           // Use userID and tokenString to interact with the server
        }];
    }
}