Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>same for me, seems like this is bug in Facebook SDK, but I am not sure. I have added additional check if session has new permissions.</p> <pre><code> - (void)postToFacebookWithMessage:(NSString *)message completionBlock:(void (^)(NSError *))completionBlock { NSArray *permissions = @[@"publish_actions"]; void (^completionHandler)(FBSession *session, NSError *error) = ^(FBSession *session, NSError *error) { if (error != nil) { if (completionBlock != nil) { completionBlock(error); } } else if(![self activeSessionHasPermissions:permissions]) { NSError *error = [NSError errorWithDomain:@"Facebook" code:FBAccessDisabledCode userInfo:@{NSLocalizedDescriptionKey:NSLocalizedString(@"Facebook access disabled", @"Facebook access disabled")}]; if (completionBlock != nil) { completionBlock(error); } } else { NSMutableDictionary&lt;FBGraphObject&gt; *action = [FBGraphObject graphObject]; action[@"message"] = message; [FBRequestConnection startForPostWithGraphPath:@"me/og.posts" graphObject:action completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { // internal error 1611231 means that this was already posted if (error.code == 5) { error = [NSError errorWithDomain:@"Facebook" code:FBDuplicateActionErrorCode userInfo:@{NSLocalizedDescriptionKey:NSLocalizedString(@"Already posted to Facebook", @"Already posted to Facebook")}]; } if (completionBlock != nil) { completionBlock(error); } }]; } }; if ([self activeSessionHasPermissions:permissions]) { completionHandler([FBSession activeSession], nil); } else { [[FBSession activeSession] requestNewPublishPermissions:permissions defaultAudience:FBSessionDefaultAudienceEveryone completionHandler:completionHandler]; } } - (BOOL)activeSessionHasPermissions:(NSArray *)permissions { __block BOOL hasPermissions = YES; for (NSString *permission in permissions) { NSInteger index = [[FBSession activeSession].permissions indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { if ([obj isEqualToString:permission]) { *stop = YES; } return *stop; }]; if (index == NSNotFound) { hasPermissions = NO; } } return hasPermissions; } </code></pre> <p>hope this will help</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload