FBSDKLoginManager logInWithReadPermissions: fromViewController: handler: no se completó la finalización de la aplicación en la primera ejecución

Tengo una aplicación habilitada para iniciar sesión en Facebook y por alguna razónFBSDKLoginManager logInWithReadPermissions: fromViewController: handler: no se llama en la primera ejecución de mi aplicación después de la instalación. Si acabo de cerrar mi aplicación (incluso sin intentar iniciar sesión en Facebook o hacer algo: intentar iniciar sesión en abrir por primera vez o no no cambia nada) y abrirla de nuevo, funciona perfectamente.

¿Por qué?

(He comprobado que el controlador de vista pasado al método no es nulo y es el controlador de vista actual)

Aquí está mi código de inicio de sesión:

+(void)loginWithFacebookWithCompletion:(ULCompletion)completion{
    [[[FBSDKLoginManager alloc] init] logInWithReadPermissions:FACEBOOK_READ_PERMISSIONS fromViewController:[ULMasterViewController instance] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
        if(result.token){
          ...
        }
[...]

El resto es irrelevante ya que el bloque de finalización no se llama en absoluto (ni siquiera con un error). Tengo elFACEBOOK_READ_PERMISSIONS codificado

#define FACEBOOK_READ_PERMISSIONS (@[@"user_friends", @"user_birthday", @"email", @"user_photos"])

Y finalmente,[ULMasterViewController instance] es válido (no nulo, y tiene su punto de vista en la jerarquía (de lo contrario, se queja de que el punto de vista no está en la jerarquía, también lo intentó)).

Respuestas a la pregunta(3)

Su respuesta a la pregunta