尝试添加 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 //
}
我正在尝试将 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 //
}