iOS接入GameCenter登录很简单:
首先,在target->Capabilities中打开GameCenter配置:
这里的内购(In-App Purchase),是因为我需要接内购的SDK,所以我把这个 In-App Purchase 打开了(大多数做GameCenter登录都会连带着接内购SDK)。
之后,就可以愉快的打码了。
MonetHelper.h
#import <Foundation/Foundation.h>
#import <GameKit/GameKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface MonetHelper : NSObject
/**
GameCenter授权
*/
+(void)authenticateLocalPlayer;
@end
NS_ASSUME_NONNULL_END
MonetHelper.m
#import "MonetHelper.h"
@implementation MonetHelper
/**
GameCenter授权
*/
+(void)authenticateLocalPlayer {
NSLog(@"尝试获取授权");
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController * _Nullable viewController, NSError * _Nullable error) {
if ([localPlayer isAuthenticated]) {
//To Do something...
//已经开启GameCenter并且有账号
NSLog(@"已经授权1,playerID : %@", localPlayer.playerID);
}else if(viewController){
//To Do something...
NSLog(@"已经授权2,playerID : %@", localPlayer.playerID);
}
else{
if (!error) {
NSLog(@"授权完成");
}else{
//To Do something...
//没有开启GameCenter
NSLog(@"取消授权");
NSLog(@"AuthPlayer error: %@", [error localizedDescription]);
}
}
};
}
@end