菜鸟教程小白 发表于 2022-12-13 12:19:35

ios - 如何在 tvOS 上显示 GameCenter 排行榜?


                                            <p><p>我<em>认为</em>我遵循了所有必要的步骤来支持我的游戏中的排行榜(它们在 iOS 上运行良好),但是在 tvOS 上无法配置 <code>GKGameCenterViewController</code> 来显示一个特定的排行榜,<code>LeaderboardIdentifier</code> 属性就没有了(就像 <code>ViewState</code> 一样):</p>

<pre><code>var leaderboardController = new GKGameCenterViewController ();

// Unavailable on tvOS
/*
leaderboardController.ViewState = GKGameCenterViewControllerState.Default;
leaderboardController.LeaderboardIdentifier = &#34;myLeaderboardId&#34;;
*/

leaderboardController.Finished += (sender, e) =&gt;
{
leaderboardController.DismissViewController (true, null);
}

PresentViewController (leaderboardController, true, null);
</code></pre>

<p>我没有使用这些属性,而是按照说明 <a href="https://stackoverflow.com/questions/32770956/how-to-open-gamecenter-in-tvos" rel="noreferrer noopener nofollow">here</a> .我注意到这将在最终的应用程序包中生成一个 <code>GKGameCenterContent.plist</code> 文件。我仔细检查了内容:</p>

<pre><code>&lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt;
&lt;!DOCTYPE plist PUBLIC &#34;-//Apple//DTD PLIST 1.0//EN&#34; &#34;http://www.apple.com/DTDs/PropertyList-1.0.dtd&#34;&gt;
&lt;plist version=&#34;1.0&#34;&gt;
&lt;dict&gt;
    &lt;key&gt;GKLeaderboards&lt;/key&gt;
    &lt;array&gt;
      &lt;dict&gt;
            &lt;key&gt;identifier&lt;/key&gt;
            &lt;string&gt;myLeaderboardId&lt;/string&gt;
            &lt;key&gt;onDemandResourcesTag&lt;/key&gt;
            &lt;string&gt;com.apple.gamecenter.Leaderboard&lt;/string&gt;
            &lt;key&gt;posterImageName&lt;/key&gt;
            &lt;string&gt;Leaderboard/Poster&lt;/string&gt;
      &lt;/dict&gt;
    &lt;/array&gt;
&lt;/dict&gt;
&lt;/plist&gt;
</code></pre>

<p>这看起来完全正确,图像当然也在 bundle 中。尽管如此,使用上面的代码来显示游戏中心 Controller 只会给我成就屏幕而不是其他任何东西。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您必须向 Assets.xassets 添加排行榜。在那里你可以输入标识符:</p>

<p> <a href="/image/tDdjD.png" rel="noreferrer noopener nofollow"><img src="/image/tDdjD.png" alt="enter image description here"/></a> </p>

<p>显示排行榜的代码:</p>

<pre><code>@IBAction func openLeaderboard(sender: AnyObject) {

    let gcViewController = GKGameCenterViewController()
    gcViewController.gameCenterDelegate = self
    self.presentViewController(gcViewController, animated: true, completion: nil)
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在 tvOS 上显示 GameCenter 排行榜?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/34097474/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/34097474/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在 tvOS 上显示 GameCenter 排行榜?