Fixed for iOS7/8 Objective-C Helper class to ease interaction with Apple's GameKit API with New iOS8 delegate GKGameCenterControllerDelegate!
Should work with all types of Apps for iOS7 and iOS8 and Cocos2D 2.x and 3.x
- iOS7/8 Fixed
- Show Leaderboards (specify which) / Achievements
- Report Scores to Leaderboards / Report Achievements
- Achievement / Score Caching System
- All saved data is encrypted (AppStore Safe) โฆ no cheating here ;)
ABGameKitHelper uses ARC, to use it in a non ARC project be sure to add "-fobjc-arc" flag in "Compile Sources" configuration:
Targets->Build Phases->Compile Sources->ABGameKitHelper.m
Getting ABGameKitHelper up and running is fairly easy, here a step by step guide to get you started:
-
Link "GameKit.framework", "CFNetwork.framework", "Security.framework" and "SystemConfiguration.framework" with your Project
-
In ABGameKitHelper.h edit SECRET_KEY to your liking
-
Call following code once the UI of your application is loaded
[ABGameKitHelper sharedHelper];
-
Thats the basic setup, easy huh? Now on to actually interacting with GameCenter:
Show Leaderboard
[[ABGameKitHelper sharedHelper] showLeaderboard:@"leaderboardId"];
Show Achievements
[[ABGameKitHelper sharedHelper] showAchievements];
Report Achievement
[[ABGameKitHelper sharedHelper] reportAchievement:@"achievementId" percentComplete:100.0f];
Show Notification (Shown only once per completed Achievement)
[[ABGameKitHelper sharedHelper] showNotification:@"Notification Title" message:@"Some Message" identifier:@"achievementID"];
Report Leaderboard Score
[[ABGameKitHelper sharedHelper] reportScore:2000 forLeaderboard:@"leaderboardId"];
! If no Internet connection is present during reporting Achievemnts/Leaderboard Scores are automatically cached and reported the next time the Player authenticates
MIT License, check "LICENSE"