ViewController 不会出现 - iOS

Posted

技术标签:

【中文标题】ViewController 不会出现 - iOS【英文标题】:ViewController won't appear - iOS 【发布时间】:2014-05-24 10:41:55 【问题描述】:

我有一个 ios 应用程序,它将加载一个特定的视图控制器进行身份验证。但是无论如何,视图控制器都不会加载。下面是我处理这个问题的方法的代码(这是用于 Game Center 身份验证弹出窗口):

-(void)authenticateLocalUser 

GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error) 

    if (viewController != nil) 
        NSLog(@"AUTH VIEW CONTROLLER");
        [[[UIApplication sharedApplication] keyWindow].rootViewController presentViewController:viewController animated:YES completion:nil];
    

    else if (localPlayer.isAuthenticated) 
        NSLog(@"User is authenticated");
    

    else 
        NSLog(@"Game Center Auth error.");
    
;

如您所见,我遵循了 Apple 官方开发者文档。然而这个方法的输出总是:

Game Center 身份验证错误(最后一个 NSLog)。

为什么视图控制器从不加载?因为我需要加载它以便用户可以登录 Game Center(如果他们还没有登录的话)。

感谢您的宝贵时间,丹。

【问题讨论】:

这是您的处理程序块,但您没有显示实际尝试加载视图控制器的位置 行“[[[UIApplication sharedApplication] keyWindow].rootViewController presentViewController:viewController animated:YES completion:nil];”打开视图控制器。 至于方法本身,在我的视图控制器的viewdidload上调用。 显示视图控制器,但不加载视图控制器 那么如何加载视图控制器? 【参考方案1】:

事实证明,问题最终与 Game Center 应用程序本身有关。我刚刚登录/退出,一切正常。我现在也看到在其他使用 Game Center 的 iOS 应用中也出现了同样的问题。

【讨论】:

以上是关于ViewController 不会出现 - iOS的主要内容,如果未能解决你的问题,请参考以下文章

iOS Present Viewcontroller 出现黑屏

iOS9:UIViewController:当 viewController 在第二个 UIWindow 中运行时,不会在拆分视图更改时调用 viewWillTransitionToSize

Swift ViewController 在加载时崩溃

在 IOS 中的 PushSegue 期间,目标控制器视图出现在源视图控制器中

viewController 出现时出现黑色

iOS UITableViewController出现crash