Rit*_*its 4 iphone objective-c achievements gamekit game-center
Apple声明,如果您想报告GKAchievement但是您遇到网络错误,处理此问题的最佳方法是保存GKAchievement(可能将其添加到阵列中),然后定期尝试报告成就.
保存成就的最佳地点是什么?NSUserDefaults会满足,还是财产清单会更好?
我应该何时以及何时尝试举报?在应用程序启动时,或每10分钟一次?
属性列表只能处理特定的类(请参阅"什么是属性列表?"),这GKAchievement不是其中之一. NSUserDefaults使用属性列表,所以也是. GKAchievement但是,它符合NSCoding协议,这意味着你可以使用一个简单的方法将它们保存到磁盘NSKeyedArchiver.我会创建一系列未报告的成就,并像这样读/写它们:
//Assuming these exist
NSArray * unreportedAchievements;
NSString * savePath;
// Write to disk
[NSKeyedArchiver archiveRootObject:unreportedAchievements toFile:savePath];
// Read from disk
unreportedAchievements = [NSKeyedUnarchiver unarchiveObjectWithFile:savePath];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
849 次 |
| 最近记录: |