The IOS Facebook SDK (3.17) doesn't give me publish_stream permissions (while older iOS versions and also android work fine -- so it is sdk specific)
What I do is straight forward
1 I get readPermissions
[FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
...
2 Later I call requestPublishPermissions
[[FBSession activeSession] requestNewPublishPermissions:@[@"publish_stream"] defaultAudience:FBSessionDefaultAudienceFriends completionHandler:nil];
3 I do a NSLog => no publish_X permissions (I can get publish_actions but thats it)
NSLog(@"%@", session);