Tag: 游戏中心

更新GKTurnBasedMatch中的matchData而不结束转弯

似乎GameKit只允许GKTurnBasedMatch在每次从Game Center服务器加载GKTurnBasedMatch时更新一次。 有没有其他的方式来更新matchData属性?

游戏中心可以与非游戏iOS应用程序集成吗?

我正在从事教育应用方面的工作,但是我想实现一个领导者和成就function。 所以我想出了Game Center。 我的问题是,这个应用程序现在在教育类别,我不想把它移动到游戏类别。 它会在应用程序审查中被拒绝,因为我将Game Center与非游戏应用程序整合在一起?

处理邀请GKTurnBasedMatch没有游戏中心视图控制器

我正在做一个简单的基于回合的文字游戏,我很难搞清楚邀请函是如何工作的。 当用户A邀请用户B参加游戏时,我希望用户B能够在我的自定义比赛界面(即,列出所有用户B的游戏的屏幕)中看到该游戏。 如果用户B被邀请参加游戏时点击通知,事情就没有问题,但是如果用户B自己导航到应用程序,我仍然希望通过自己的界面可以看到游戏。 每当此匹配界面屏幕出现时,我正在使用[GKTurnBasedMatch loadMatchesWithCompletionHandler:]获取所有本地玩家的匹配。 有了这个,我会假设用户B能够看到他被邀请的比赛,但是这个新的比赛没有出现。 如果我通过GKTurnBasedMatchmakerViewController接受邀请,则用户按照预期进入游戏,但是更让人费解的是,如果我打开了我的GKTurnBasedMatchmakerViewController ,然后在不接受邀请的情况下取消,现在会在我的自定义匹配中显示新的匹配接口,但它缺less用户A发送的匹配数据。 总之,我真的只是想知道如何正确显示和接受GKTurnBasedMatch邀请与自定义接口(而不是必须使用GKTurnBasedMatchmakerViewController )。 谢谢!

ios7取消3次后无法登陆gamecenter获取

这个问题很奇怪。 我的系统版本是IOS7。 一切顺利在ios7模拟器上。 但是,当我尝试在我的iphone上进行身份validation时,callback块中的错误始终是"GkErrorCanceled: the requested operation has been canceled or disabled by the user". 即使我已经login游戏中心,错误仍然popup。 我试图谷歌的问题,并find了一个人在stackoverflow已征服了这个问题: iPhone模拟器6.0无法在沙箱模式下连接到gamecenter 。 我试图遵循的方式,但是,它不适合我。 我不知道我是否做错了什么。 有人能给我一个更详细的解决scheme吗? 非常感谢!

更新已经提交给Game Center的分数

现在我正在为iOS的黑杰克游戏工作,并希望有一个排行榜,显示哪些玩家目前拥有最多的“钱”。 因此,如果他们得到高分,然后输掉“钱”,它会更新他们的高分,以匹配用户当前的金额,这将比以前less。 有没有办法与Game Center做到这一点?

离线游戏中心iOS成就

在离线模式下(例如打开飞行模式),试图找出在Game Center中使用“成就”的最佳方式。 据我所知,在iOS 5+游戏中心负责离线提交的成就和分数。 它就像一个代理caching,并在用户下线时将它们提交到在线游戏中心。 考虑到这一点,我是这样做的: 在用户身份validation成功之后,我加载成就并将它们存储在字典中。 [GKAchievement loadAchievementsWithCompletionHandler:^(NSArray *gcAchievments, NSError *error) { if (error) { ..skipped ..} //This dictionary will store current achievments, so that we didn't submit them //once more and didn't show notification. achievments = [[NSMutableDictionary alloc] initWithCapacity:gcAchievments.count]; //Storing achievments in dictionary for(GKAchievement *a in gcAchievments) [achievments setObject:a forKey:a.identifier]; }]; 之后当我提交新的成就时,我会检查字典中的成就,如果成绩已经完成,请不要提交。 如果我提交成果,我也把它添加到成绩字典(内存),立即重新指出,这个成就已经提交。 […]

游戏中心authentication的Xcode 4.6 ARC警告

这是一个新的编译器警告,只有当我将XCode更新到4.6时才显示出来。 我的代码直接从苹果的文档(这是我的iOS 6代码btw)中解除。 GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer]; localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error) { [self setLastError:error]; if(localPlayer.authenticated){ 警告 – 在此块中强烈捕获“localPlayer”可能会导致保留周期

强大的游戏中心成就代码

在几乎所有向Game Center提交成就的例子中,我都看到了这个代码 [achievement reportAchievementWithCompletionHandler:^(NSError *error) { if (error != nil) { // Retain the achievement object and try again later (not shown). } }]; 问题是,一个小小的评论是关于99%的工作。 我花了几个小时试图弄清楚这一点,似乎是发送和重新发送以及保存和加载数据的边缘案例层出不穷。 有没有人知道一个很好的教程(或示例代码),这实际上解释了困难的一部分? 这不是简单的把它们保存到一个文件,然后加载它们。 当你开始不得不保留多个成就,并提交它们,然后他们都回来失败(在块!),你必须再次保存…快速/安全…因为该应用程序可能会退出,你不想放松他们。 我正在拉我的头发。

IOS游戏中心GKLocalPlayerListener

我试图在回合制游戏中实现一个事件监听器,所以玩家可以在轮到他时或朋友邀请时接收事件。 GKTurnBasedEventHandler在IOS 7中被弃用,我读了我应该使用GKLocalPlayerListener的文档; 但这是它的延伸。 有没有人使用过它,因为没有任何信息。 这是我之前所尝试的,它不起作用。 – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer]; [localPlayer authenticateWithCompletionHandler:^(NSError *error) { if (localPlayer.isAuthenticated) { GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer]; [localPlayer registerListener:self]; } }]; return YES; } -(void)handleInviteFromGameCenter:(NSArray *)playersToInvite { NSLog(@"test"); } – (void)player:(GKPlayer *)player receivedTurnEventForMatch:(GKTurnBasedMatch *)match didBecomeActive:(BOOL)didBecomeActive { NSLog(@"test"); }

“这个游戏不被游戏中心认可。”iPhone开发

关于这个问题已经有几个问题了,但是我遵循了他们的步骤来解决这个问题,而且这对我来说似乎没什么用。 这是我所做的: 1.我重复检查xcode项目中的包标识符与configuration门户上的configurationconfiguration文件完全相同(它也表示启用了Game Center)。 没有通配符。 2.我已经使用沙箱帐户login到gamecenter(取得2个帐户,一个不是沙箱)。 在注册帐户时,我确实在左上angular看到了一些数字/字母“sandbox”,所以我100%肯定我有一个沙盒帐户。 尝试了2个不同的沙箱帐户。 尝试在2个不同的设备(iPad / iPhone)。 也尝试在iPhone模拟器。 3.我多次从我的iPhone中删除了我的应用程序,并再次尝试。 我在iPhone + iPad上运行4.3 / xcode 4。 我仍然收到这个消息。 任何帮助,将不胜感激。 谢谢!