尝试添加 Game Center 不断收到预期的标识符错误

Trying to add Game Center keep getting expected idetifier error

我正在尝试将 Game Center 添加到我的游戏中,但我一直收到预期的标识符或“(”行错误

-(void)authenticateLocalPlayer;{

我一整天都在尝试 google 并找到解决方案,但似乎没有任何效果。我已附上我的 Viewcontroller.m 文件

请帮忙!

#import "ViewController.h"
#import <GameKit/GameKit.h>
#import <UIKit/UIKit.h>
#import <iAd/iAd.h>
@interface ViewController ()
    -(void)authenticateLocalPlayer;{
    GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];  
    localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){
        if (viewController != nil) {
            [self presentViewController:viewController animated:YES  
            completion:nil];
        } else{
            if ([GKLocalPlayer localPlayer].authenticated) {
                _gameCenterEnabled = YES;
                // Get the default leaderboard identifier.
                [[GKLocalPlayer localPlayer] loadDefaultLeaderboardIdentifierWithCompletionHandler:^(NSString *leaderboardIdentifier, NSError *error) {
                    if (error != nil) {
                        NSLog(@"%@", [error localizedDescription]);
                    } else {
                        _leaderboardIdentifier = leaderboardIdentifier;
                    }
                }];
            } else{
                _gameCenterEnabled = NO;
            }
        }   
    };
    }
@end

@implementation ViewController
    - (void)viewDidLoad {  
        [self authenticateLocalPlayer];
        HighScoreNumber = [[NSUserDefaults standardUserDefaults] integerForKey:@"HighScoreSaved"];
        HighScore.text = [NSString stringWithFormat:@"High Score: %li", (long)HighScoreNumber];
        {}    
        [super viewDidLoad];    
    }
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];  
    }

    #pragma mark iAd Delegate Methods
    -(void)bannerViewDidLoadAd:(ADBannerView *)banner {
        [UIView beginAnimations:nil context:nil];  
        [UIView setAnimationDuration:1];  
        [banner setAlpha:1];  
        [UIView commitAnimations];    
    }

    -(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:  (NSError *)error {    
        [UIView beginAnimations:nil context:nil];    
        [UIView setAnimationDuration:1];    
        [banner setAlpha:0];    
        [UIView commitAnimations];   
    }

@end

尝试删除“;”在 authenticateLocalPlayer 和“{”之间。

从该行中删除 ;,使其像这样:

-(void)authenticateLocalPlayer{

实际上,仔细查看您的代码后,您还有其他一些问题。

将整个 authenticateLocalPlayer 实现移出您的 @interface 块并将其放入您的 @implementation 块中。 @interface 块仅用于声明。

所以,您的代码应该像这样:

@interface ViewController()
   - (void) authenticateLocalPlayer;
@end

@implementation ViewController  
- (void) authenticateLocalPlayer{
    // Your code here //
}