2014-09-10 3 views
0

나는 가능한 한 높은 점수를 받아야하는 '끝이없는'게임을 가지고 있습니다. 30, 60, 90 점에 도달했을 때 몇 가지 성과를 올렸습니다. 그러나 사용자가 점수에 도달하면 해당 점수를 완료했거나 Game Center에서 완료된 것으로 표시되는 배너가 표시되지 않습니다. .Swift - 완성 된 게임 센터 업적

어떻게하면됩니까?

func checkAchievements() { 
    var identifier : String? = nil 
    var percentComplete : Double = 0 
    switch(score) 
    { 
    case 30: 
     identifier = "30" 
     percentComplete = 100.0 
    case 60: 
     identifier = "60" 
     percentComplete = 100.0 
    case 90: 
     identifier = "90" 
     percentComplete = 100.0 
    case 120: 
     identifier = "120" 
     percentComplete = 100.0 
    case 150: 
     identifier = "150" 
     percentComplete = 100.0 
    default: 
     identifier = nil 
    } 
    if identifier != nil { 
     let achievement = GKAchievement(identifier: identifier) 
     achievement.showsCompletionBanner = true 
     achievement.percentComplete = percentComplete 
    } 
} 

답변

4

내가 GK 모듈을 사용한 적이 있지만이 GKAchievement 객체를 인스턴스화 반면, 당신의 전화가 게임 센터와 함께 /보고 기록을 볼 수 없습니다 :

이 내 코드입니다. achievement.reportAchievementWithCompletionHandler는 어디에 있습니까?

+0

Xcode가'reportAchievementWithCompletionHandler :'를 인식하지 못하는 것 같습니다. 나는'업적 '을 타이핑하고'reportAchievementWithCompletionHandler :'라고 타이핑하기 시작합니다. 그러나 거기에있는 것처럼 보이지 않습니다 ???? – user2397282

+0

인스턴스 메소드는 iOS7에서 사용되지 않습니다. * class * 메서드 인 reportAchievements : withCompletionHandler :를 사용하고 첫 번째 매개 변수에서 성취도 객체를 전달해야합니다 (한 항목의 배열로 보입니다.보고하려는 항목이 하나 뿐인 경우). 아마도 시도해보십시오. 'GKAchievement.reportAchievements ([achievement], withCompletionHandler : nil)'? –