Saturday, 15 August 2015

ios - No prompt when getting Facebook permissions when system FB account is configured -



ios - No prompt when getting Facebook permissions when system FB account is configured -

edit: no work around yet, facebook in there own sdk seemed have deprecated using scheme fb sign-on. tried latest sdk, , ignores scheme sign-on. unfortunately can' used latest sdk as, despite using "legacy" setting, still returns token doesn't give me need. might useful see how they're bypassing scheme settings though!

original q

i have app using facebook authenticate.

i'm using facebook sdk (3.13.1 - lastly pre api v2 version)

if effort authenticate, long don't have fb business relationship setup in scheme settings, works fine. app launches either fb mobile app or mobile safari login prompts me grant necessary permissions.

as there scheme business relationship setup, fails silently. i'm deleting app in between runs ensure lack of permissions isn't persisting. if run of fb sample apps come sdk, prompt permission fine, problem app or configuration of facebook app.

i've looked @ these 2 similar questions:

facebook login - if user business relationship nowadays (and app not installed) login fails

facebook login error when facebook business relationship configured in scheme preferences

but neither provides reply works in situation. (e.g have bundle identifiers configured in facebook app)

i've tried using own custom login code (based on facebook guide) , using fbloginview, both same effect.

i've tried using acaccountstore create request straight scheme store, same effect. ideas?

i'll include code, i'm code not problem - works fine if scheme fb business relationship not configured: (i've changed facebookappidkey here)

acaccountstore *accountstore = [[acaccountstore alloc] init]; acaccounttype *facebooktype = [accountstore accounttypewithaccounttypeidentifier:acaccounttypeidentifierfacebook]; nsdictionary *options = @{ acfacebookappidkey: @"123", acfacebookpermissionskey: @[@"public_profile", @"user_likes", @"user_friends", @"email"], acfacebookaudiencekey: acfacebookaudiencefriends}; [accountstore requestaccesstoaccountswithtype:facebooktype options:options completion:^(bool granted, nserror *error) { if (granted) { nsarray *accounts = [accountstore accountswithaccounttype:facebooktype]; id facebookaccount = [accounts lastobject]; dlog(@"%@", facebookaccount); } else { if (error) { dlog(@"%@", error.localizeddescription); } } }];

using sdk:

[fbsession openactivesessionwithreadpermissions:@[@"public_profile", @"user_likes", @"user_friends", @"email"] allowloginui:yes completionhandler: ^(fbsession *session, fbsessionstate state, nserror *error) { appdelegate* appdelegate = (appdelegate *) [uiapplication sharedapplication].delegate; [appdelegate sessionstatechanged:session state:state error:error]; if ([fbsession activesession].isopen) { __typeof__(self) strongself = weakself; strongself.facebooktoken = session.accesstokendata.accesstoken; [[fbrequest requestforme] startwithcompletionhandler:^(fbrequestconnection *connection, id result, nserror *error) { completion(error,(nsdictionary *)result); }]; } else { completion(error,nil); } }];

the problem may because logged in doesn't have access token. have check status if(appdelegate.session.state == fbsessionstatecreatedtokenloaded) .

hope next code help.

vnsappdelegate *appdelegate = [[uiapplication sharedapplication]delegate]; if (!appdelegate.session.isopen) { // create fresh session object appdelegate.session = [[fbsession alloc] init]; // if don't have cached token, phone call open here cause ux login // occur; don't want happen unless user clicks login button, , // check here create sure have token before calling open if (appdelegate.session.state == fbsessionstatecreatedtokenloaded) { // though had cached token, need login create session usable [[appdelegate.session initwithpermissions:appdelegate.permissions]openwithcompletionhandler:^(fbsession *session, fbsessionstate status, nserror *error) { // recurse here, in order update buttons , labels [self updateview]; }]; }

ios facebook facebook-ios-sdk acaccountstore

No comments:

Post a Comment