The bounty将在5小时后过期。这个问题的答案有资格获得+50声望奖励。
Mike Pandolfini希望引起更多关于此问题的注意。







我使用LoadScores获得了Game Center用户ID的列表,但不幸的是,这些ID仅包含用户ID(“G:”,后跟一串数字)。现在,以前我们在这些ID的字符串数组上使用Social.LoadUsers来检索用户名,但是每次执行任何访问LoadUsers的操作时,我都会看到一致的崩溃,例如:
List<string> userIDs = new List<string>();
foreach ((string, int) leader in allTimeTreasureLeaders)
{
    userIDs.Add(leader.Item1);
}

string[] userIDArray = userIDs.ToArray();

Social.LoadUsers(userIDArray, users =>
{
    foreach (IUserProfile user in users)
    {
        Debug.Log(user.userName);
    }
});
奇怪的是我可以在这里看到打印出来的名字,但是无论如何我还是得到了EXC_BAD_ACCESS。请注意,我暂时不对这些用户名进行任何操作-似乎只是对LoadUsers的调用导致崩溃。
需要说明的其他一些注释:这是在静态类中,而allTimeTreasureLeaders是一个List ,该类通过调用LoadScores单独填充在该类中。目前,它包含3个条目(我们的团队)。
有人看到我正在做的事情还是以前遇到过这个问题吗?
编辑:这是堆栈跟踪。
ios - 构建到iOS时Unity C#Social.LoadUsers导致一致的崩溃-LMLPHP

最佳答案

我相信Unity的包装器当前是基于Unity的留言板上的一个线程损坏的,有人在该消息板上跟踪到更改为对LoadUsers的相同调用时发生的崩溃。
他和我们使用Prime31的Game Center插件解决了这个问题。虽然我不喜欢花64美元购买一行代码,但我不值得花时间在这上面等待Unity。不幸的是,就我所知,用于自定义UI的Game Center(假设您要显示用户名)在所有意图和目的上都是无法实现的。

09-16 11:06