Calling ViewController's method that pushes another ViewController from App Delegate
<p>Before I begin, I have searched Stackoverflow for how to do this, and I saw a lot of related posts, but none worked for me and I'm not sure why. </p>

<p>So basically I have a loginViewController, and in it, I have a method that call's GoogleSignIn:</p>

<pre><code>- (void)googleTap:(id)sender
{
    [[GIDSignIn sharedInstance] signIn];
}
</code></pre>

<p>Now the way GoogleSignIn is set up, the result of that sign in call is handled inside AppDelegate.m</p>

<pre><code>- (void)signIn:(GIDSignIn *)signIn
didSignInForUser:(GIDGoogleUser *)user
     withError:(NSError *)error {
    // Perform any operations on signed in user here.
    if (!error) {
        NSString *userId = user.userID;                  // For client-side use only!
        NSString *idToken = user.authentication.idToken; // Safe to send to the server
        NSString *name = user.profile.name;
        NSString *email = user.profile.email;

        NSLog(@"Name: %@, User: %@, Token: %@, Email: %@",name, userId, idToken, email);

        // ...
    }
}
</code></pre>

<p>Inside this AppDelegate method, I want to call a method from my loginViewController: </p>

<pre><code>-(void)onSuccessfulLogin{
    NSLog(@"On Successful Login");
    [self.navigationController pushViewController:[collectionViewController new] animated:YES];
}
</code></pre>

<p>I tried these answers: <a href="https://stackoverflow.com/questions/18950670/calling-uiviewcontroller-method-from-app-delegate">Calling UIViewController method from app delegate</a> </p>

<p><a href="https://stackoverflow.com/questions/26011117/want-to-call-viewcontrollers-method-from-appdelegate">want to call ViewController&#39;s method from appdelegate</a></p>

<p>and the NSLog is called, but the new ViewController is never pushed...why is that and how can I get that to work? </p>