Ios7 GKScore ChallengeComposecController,玩家不显示视图
这是我的密码:Ios7 GKScore ChallengeComposecController,玩家不显示视图,ios7,game-center,Ios7,Game Center,这是我的密码: GKScore *scoreObj = [[[GKScore alloc] initWithCategory:category] autorelease]; scoreObj.value = playerScore; [scoreObj challengeComposeControllerWithPlayers:playerIDs message:msg
GKScore *scoreObj = [[[GKScore alloc] initWithCategory:category] autorelease];
scoreObj.value = playerScore;
[scoreObj
challengeComposeControllerWithPlayers:playerIDs
message:msg
completionHandler:^(UIViewController *composeController,
BOOL didIssueChallenge,
NSArray *sentPlayerIDs) {
// I don't really care what you do
}];
当我运行代码时,我没有得到任何覆盖,日志中也没有错误消息
当前,
playerIDs
是一个空的NSMutableArray。我不知道这是否相关,但我不想预先填充一个列表-这就是这个原生UI为我提供的功能,对吗mgs
是一个空字符串。首先在iOS 7中initWithCategory:
不推荐使用。改用initWithLeaderboardIdentifier:
。正如文件所说:
提供一个带有预先选择的玩家标识符和预先格式化的、玩家可编辑消息的挑战组合视图控制器
因此,保存指向此视图控制器的指针,从当前视图控制器中显示它,并从完成处理程序中取消它
假设您在当前viewController的实现中,请执行以下操作:
GKScore *scoreObj = [[[GKScore alloc] initWithLeaderboardIdentifier:category] autorelease];
scoreObj.value = playerScore;
UIViewController *vc = [scoreObj challengeComposeControllerWithPlayers:playerIDs
message:msg
completionHandler:^(UIViewController *composeController,
BOOL didIssueChallenge,
NSArray *sentPlayerIDs) {
[composeController.presentingViewController dismissViewControllerAnimated: YES completion: nil];
// I don't really care what you do
}];
[self presentViewController: vc animated: YES completion: nil];
这应按预期在viewController中显示