1

我可以使用此代码检索所有 Game Center 朋友...

GKLocalPlayer *lp = [GKLocalPlayer localPlayer];
    if (lp.authenticated)
    {
        [lp loadFriendsWithCompletionHandler:^(NSArray *friends, NSError *error)
         {
             NSLog(@"MY FRIENDS: %@",friends);
             if (friends != nil)
             {
                 [GKPlayer loadPlayersForIdentifiers:friends withCompletionHandler:^(NSArray *players, NSError *error)
                  {

                      if (error != nil)
                      {
                          // Handle the error.
                          NSLog(@"PLAYERLIST ERROR: %@",[error localizedDescription]);
                      }
                      if (players != nil)
                      {
                          // Process the array of GKPlayer objects.
                          NSLog(@"PLAYERS: %@",players);
                      }
                  }];
             }

         }];

    }

...但是,有没有办法只检索在线的 GameKit 朋友?

4

1 回答 1

2

看起来你做不到。由于 GKPlayer 不提供任何方式来查看玩家是否在线。

此外,从技术上讲,一旦一个人登录到 Game Center,他们就会一直“在线”,直到他们注销。这意味着他们可以在使用手机时在线数天。当他们登录时,如果您向他们发送邀请,他们会听到喇叭声。

http://developer.apple.com/library/IOS/#documentation/GameKit/Reference/GKPlayer_Ref/Reference/Reference.html#//apple_ref/doc/uid/TP40009599

于 2013-05-14T01:42:25.063 回答