簡體   English   中英

iOS 5.0模擬器:GKLeaderBoardViewController不顯示

[英]iOS 5.0 simulator: GKLeaderBoardViewController not showing

以下代碼在iOS 6.0(模擬器和設備)上都可以正常運行。 可以向游戲中心展示所有內容。 但這在iOS 5.0模擬器上沒有任何作用。 不幸的是,我沒有配備iOS 5.0的設備,因此無法檢查它是否是模擬器相關的問題。

- (void)showLeaderboard:(NSString *)leaderboard
{
    GKLeaderboardViewController * leaderboardViewController = [[GKLeaderboardViewController alloc] init];
    leaderboardViewController.modalPresentationStyle = UIModalPresentationCurrentContext;
    [leaderboardViewController setCategory:leaderboard];
    [leaderboardViewController setLeaderboardDelegate:self];
    [[[UIApplication sharedApplication] delegate].window.rootViewController presentViewController:leaderboardViewController animated:YES completion:^{
    }];
    [leaderboardViewController release];
}

那會怎樣呢? 沒有。 沒有顯示視圖。 它不會將任何消息記錄到控制台中。 它甚至沒有到達完成塊。 我嘗試玩耍,這是我設法弄清楚的事情。 我使用從GKLeaderboardViewController繼承的GKLeaderboardViewController而不是純GKLeaderboardViewController ,並將斷點放置在GKLeaderboardViewController方法中。 上面的代碼不觸發。 但是,如果我使用setCategory:nil而不是setCategory:leaderboard則會觸發該斷點。 仍然沒有任何反應,並且不會調用完成塊。 有什么想法為什么會發生這種事情?

原來這只是一個愚蠢的錯誤。 [[UIApplication sharedApplication]委托] .window.rootViewController為nil,因為在iOS 5.0中從未設置過。

確保您的所有變量(例如“排行榜”)都不為零,因為在這種情況下,Objective C會無聲地失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM