Releases: nihalahmed/GameCenterManager
Version 5.3
Updated GameCenterManager for iOS 7 and OS X 10.9 Improved Singleton. New features and enhancements.
New Features
- Improved Singleton - Removed nil object creation and replaced
allocWithZone:
. - Improved private
init
method. - Added three new methods for presenting GameKit ViewControllers
- New properties to handle encryption.
- Improved sample apps
Breaking Changes
- Added compiler checks for ARC, iOS 7, and OS X Mavericks 10.9.
- Deprecated
initGameCenter
. UsesetupManagerAndSetShouldCryptWithKey:
orsetupManager
instead. - Encryption of local data is no longer required. Use the new setup methods to define encryption parameters, or to turn it OFF.
Known Issues
Changing the initial setup manager call between setupManagerAndSetShouldCryptWithKey:
or setupManager
will render the locally saved data unreadable. Changes in the encryption key will also render your data unreadable. This results in a crash. Therefore, changing these calls requires that you delete the GameCenterManager.plist
from your app's library folder before changing. Encrypting locally saved data is a dangerous feature that is not recommended and will soon be removed from the library completely. In fact, this may be the last update with encryption compatibility.
Version 5.2
Consolidated the GameCenterManager for iOS and OS X classes into one class. Improved Singleton. 64-bit compatible. Bug fixes and enhancements. Documentation improvements.
Breaking Changes
- Combined the GameCenterManager classes for Mac and iOS and combined them into one single class.
- Deprecated delegate methods with new (better) names and parameters. Now some delegates pass actual GKScore and GKAchievement objects instead of NSDictionaries with those objects.
- Moved project files around for better organization.
Other Changes
- Improved Singleton - now uses GCD dispatch once to properly setup. Improved setup.
- 64-bit compatible - added arm64 architecture to the build settings and updated the encryption files for 64-bit
- Documentation improvements - added more extensive documentation for all methods and properties. Now documentation can be viewed with Xcode 5.0's built-in documentation viewer / Quick Help features.
- Bug fixes and enhancements
- New properties
Known Issues
No Known Issues
Version 5.1
This update adds support for iOS 7, makes improvements to the iOS & Mac OS X demo apps, fixes bugs with error reporting, improves player data methods, and makes some breaking changes to resetting achievements.
Breaking Changes
- Dropped support for the
gameCenterManager:resetAchievements:
delegate method. - The
resetAchievements
method has also been changed toresetAchievementsWithCompletionHandler:
.
Other Changes
- Major improvements to the demo apps including new UI and Icons
- Limited iOS 7 support. The project runs on iOS 7, but the classes are not fully optimized for iOS 7. A new branch will be created soon which has specific iOS 7 changes.
- Fixed a bug where checking for GameCenter availability would return NO, but wouldn't deliver an error message.
- Deprecated
gameCenterManager:resetAchievements:
delegate method in favor of a completion handler now available on theresetAchievementsWithCompletionHandler:
method. - Fixed a bug where resetting achievements may not work
- Cleaned code, minor improvements to code
Known Issues
No Known Issues
Version 5.0
This update adds support for Game Center on Mac OS X and makes improvements to the iOS demo app. Improvements have also been made to error reporting, challenges, and player data.
Breaking Changes
No breaking changes in this release.
Other Changes
- Adds support for Mac OS X. Use the GameCenterManager Mac folder to access resources for the OS X compatible version of GameCenterManager. This also includes an OS X demo app that works with the iOS demo app.
- Improved Game Center Error Reporting. The
gameCenterManager: error:
delegate method now passes anNSError
as the error parameter instead of anNSDictionary
. NewGCMError
constants are provided as error codes in each error. - Makes improvements to thread management and background tasks - heavy background tasks like syncing to GameCenter (which involve networking, encryption, and file system management) are performed on the background thread and will continue to finish the process even after the user exits the app.
- Fixed bug where the
getChallenges
method would always return nil. ThegetChallenges:
method no longer returns a value - instead it uses a completion handler and delegate methods. - Added a new method to retrieve a player's profile picture,
localPlayerPhoto:(void (^)(UIImage *playerPhoto))handler
- Fixed bug where achievements may not sync, esp. after resetting achievements.
- Reorganized code
Known Issues
Resetting achievements causes them to reset on Game Center, but the cache remains locally. This cache eventually causes all achievement data to be uploaded to Game Center.