#pragma mark -单例方法static GameKitHelper *sharedInstance;+ (id)allocWithZone:(struct _NSZone *)zone{ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ sharedInstance = [super allocWithZone:zone]; }); return sharedInstance;}+ (GameKitHelper *)sharedGameKitHelper{ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ sharedInstance = [[GameKitHelper alloc] init]; }); return sharedInstance;}