Xcode 代码7:gamecenter';播放器';仅在iOS 8.0或更高版本上可用

Xcode 代码7:gamecenter';播放器';仅在iOS 8.0或更高版本上可用,xcode,swift,game-center,Xcode,Swift,Game Center,我试图在xcode 7候选版本中编译我的iOS代码,但遇到了一个奇怪的问题。我能够修复所有的错误,除了这个涉及gamecenter的错误 我已经从gamecenter中检索到了分数,并试图对其进行解析,获得分数和玩家的姓名,这样我就可以建立一个自定义排行榜。(顺便说一句,这些都是在xCode 6中工作的) 对于xCode 7,我遇到了一个错误:“player”仅在iOS 8.0或更高版本上可用 代码很简单,如下所示: myScore = theseScores[i] as! GK

我试图在xcode 7候选版本中编译我的iOS代码,但遇到了一个奇怪的问题。我能够修复所有的错误,除了这个涉及gamecenter的错误

我已经从gamecenter中检索到了分数,并试图对其进行解析,获得分数和玩家的姓名,这样我就可以建立一个自定义排行榜。(顺便说一句,这些都是在xCode 6中工作的)

对于xCode 7,我遇到了一个错误:“player”仅在iOS 8.0或更高版本上可用

代码很简单,如下所示:

        myScore = theseScores[i] as! GKScore
        thisName.text = myScores.player.alias
现在,我知道这段代码在iOS 7上运行。它现在已经在appstore上发布了,我已经在iOS 7上反复测试过了,效果很好。所以我不知道为什么突然有人说iOS7中没有“播放器”

我在文档中查找GKScore,果然,它说“播放器”在iOS 8中是新的。所以不管它以前是怎么工作的,看起来我现在必须改变它。我是否需要做一些运行时检查,看看我们是否在iOS 7上运行,并获得不同的播放器名称


或者我可以将我的应用程序更改为需要iOS 8或更高版本?我无法想象有多少人仍然使用iOS 7?

如果上面的代码在iOS 7中工作,那确实很奇怪,除非您在某种程度上对其进行了更改。根据GKScore的玩家属性严格为iOS8及更高版本

您是否确实确定您的应用程序不会在iOS7设备上的
thisName.text=myScores.player.alias
行崩溃?如果您调用部署目标不可用的功能,Xcode 6通常不会警告您


至于瞄准iOS8或更高版本,苹果刚刚更新了App Store支持页面上的信息,表示…

是的,我不知道它以前为什么会起作用,但我想这是我的错。为了解决这个问题,我最后做了如下操作:如果#可用(iOS 8.0,*){thisName.text=myScore.player.alias}或者{thisName.text=myScore.playerID}