I have a Facebook login-enabled app and for some reason FBSDKLoginManager logInWithReadPermissions: fromViewController: handler: is not called on the very first
This working in my case .
1 .Create instance of FBloginManager in interface.
FBSDKLoginManager *manager
2 .Initialise in ViewDidLoad.
manager = [FBSDKLoginManager new]
3 .And finally call login permission method using this instace of FBLoginManager.
This is not much relevant but try by creating FBSDKLoginManager object separately as i have done same and working for me.
FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
I ran into this exact problem and it was very frustrating. The key to fixing it turned was that my app code was making lots of concurrently existing FBSDKLoginManager objects. Refactoring my code to use a singleton shared instance (as opposed to running [FBSDKLoginManager new] all over the place) eliminated this bug/issue for me.
Mysteriously, I never understood why this worked. I used the debugger to trace into the FBSDK code, and the only (very) mysterious issue I found was that from inside the loginWithReadPermissions method, the fromViewController parameter was being set to nil even though I was passing in a non-nil value. Strange...