gamecenterを使ってボタンが押されたら、スコアの送信がされるようにしたいです。
ログイン機能の実装はできたのですが、送信がされません。
コードは以下の通りです。
topView.swift
swift
1 //スコアボタン 2 let scorebtn = UIButton(frame: CGRect(x: 25, y: 50, width:260 / 2, height: 106 / 2)) 3 scorebtn.setTitle("スコア", for: UIControlState.normal) 4 scorebtn.setTitleColor(UIColor.black, for: UIControlState.normal) 5 scorebtn.addTarget(nil, action: #selector(TopViewController.reportScore), for: .touchUpInside) 6 self.addSubview(scorebtn)
topViewController.swift
swift
1@objc func reportScore(){ 2 //スコアを表示 3 GKScoreUtil.getScore(sendScore: 100); 4 }
GKLocalPlayerUtil.swift
swift
1struct GKScoreUtil { 2 static func getScore(sendScore: Int) { 3 let score: GKScore = GKScore() 4 score.value = Int64(sendScore) 5 score.leaderboardIdentifier = "trapScore" 6 7 let scoreArr: [GKScore] = [score] 8 GKScore.report(scoreArr, withCompletionHandler: {(error: NSError?) -> Void in 9 if error != nil { 10 print("report score error") 11 } else { 12 print("report score OK") 13 } 14 } 15} 16} 17
フレームワークは導入しました。
GKLocalPlayerUtil.swiftで
as! (Error?) -> Void)を入れるようにという指示が出ますが、その通りにするとエラーが出ます。
なにがいけないのかどなたかご教授くださると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/03 03:13