Issues regarding gamecenter+ios

痞子三分冷 提交于 2019-12-11 03:27:48

问题


I am not knowing anything about gamecentre.I am working on the COCO application I had gone through gamecenter guide and get able to integrate the game center in my application.

1) Now the i am able enter the score in the gamecentre through my application. By doing this:-

- (void) reportScore: (int64_t) score forCategory: (NSString*) category 
{
    GKScore *scoreReporter = [[[GKScore alloc] initWithCategory:category] autorelease]; 
    scoreReporter.value = score;
    [scoreReporter reportScoreWithCompletionHandler: ^(NSError *error) 
     {
         [self callDelegateOnMainThread: @selector(scoreReported:) withArg: NULL error: error];
     }];
}

I is working properly uptil yesterday.But now if i tried to update the score it is not updating.Please any one know the reason y the score is not updating in the game center I had tried to search out but not get anything.

2)I want to send the current latitude & longitude of one player to another. I came to know that it is possible by GKMATCH

GKMatchRequest *request = [[[GKMatchRequest alloc] init] autorelease];
    request.minPlayers = 1;
    request.maxPlayers = 1;

    [[GKMatchmaker sharedMatchmaker] findMatchForRequest:request
                                   withCompletionHandler:^(GKMatch *match, NSError *error) {
                                       if (error || !match) {
                                           // handle the error
                                       }
                                       else if (match != nil){
                                           // match found
                                       }}];

    /*GKMatchRequest *request = [[[GKMatchRequest alloc] init] autorelease];
    request.minPlayers = 1;
    request.maxPlayers = 1;
    GKMatchmakerViewController *mmvc = [[GKMatchmakerViewController alloc] initWithMatchRequest:request];
    mmvc.matchmakerDelegate = self;
    currentMatch.delegate=self;
    [self presentModalViewController:mmvc animated:YES];*/
    //[mmvc release];
}
- (void)match:(GKMatch *)match player:(NSString *)playerID didChangeState:(GKPlayerConnectionState)state {
    switch (state){
        case GKPlayerStateConnected: 
            if (match.expectedPlayerCount == 0) {
                // start the match
            }
            break;
        case GKPlayerStateDisconnected:
            // remove the player from the match, notify other players, etc
            break;
    } 
}
- (void)matchmakerViewControllerWasCancelled:(GKMatchmakerViewController *)viewController{}

// Matchmaking has failed with an error
- (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didFailWithError:(NSError *)error{
}


// A peer-to-peer match has been found, the game should start
- (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didFindMatch:(GKMatch *)match{
}

// Players have been found for a server-hosted game, the game should start
- (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didFindPlayers:(NSArray *)playerIDs{
}

// An invited player has accepted a hosted invite.  Apps should connect through the hosting server and then update the player's connected state (using setConnected:forHostedPlayer:)
- (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didReceiveAcceptFromHostedPlayer:(NSString *)playerID {
}
- (void) sendPosition
{
    NSError *error;
    NSString* str = @"teststring";
    NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding];
    //  NSData *packet = [NSData dataWithBytes:&msg length:sizeof(PositionPacket)];
    [currentMatch sendDataToAllPlayers: data withDataMode: GKMatchSendDataUnreliable error:&error];
    if (error != nil)
    {
        // Handle the erro.r
    }
}

But i dont know why but delegate method of GKMatchmakerViewController is not called i had set the delegate but still and even i ama not able to get GKMATCH (here currentMatch). So due to this [currentMatch sendDataToAllPlayers: data withDataMode: GKMatchSendDataUnreliable error:&error]; this method is not working.

as CurrentMatch refrence is 0X0. Please help me out.How do i send and recive data. M i doing anything wrong?OR is there any thing else to be done.

Please help me.

Thanks

来源:https://stackoverflow.com/questions/12641113/issues-regarding-gamecenterios

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!