-1
每个人都曾经在一段时间,我会出现以下NSInvalidArgumentException崩溃我的应用程序(通过crittercism)崩溃报告:GKAchievement reportAchievements:withCompletionHandler:崩溃
+[GKAchievement reportAchievements:withCompletionHandler:]: unrecognized selector sent to class 0x3f940a84
的代码看起来是这样的:
NSMutableArray *achivementArray = [NSMutableArray arrayWithCapacity:20];
for (NSString *achievementID in achievementsToUpload) // achievementsToUpload is a NSSet
{
GKAchievement *achievement = [[GKAchievement alloc] initWithIdentifier:achievementID];
if (achievement)
{
...
[achivementArray addObject:achievement];
}
}
[GKAchievement reportAchievements:achivementArray withCompletionHandler:^(NSError *error)
{
if (error != nil)
{
NSLog(@"Error sending achievement: %@", error.localizedDescription);
}
}];
如果错误确实存在于ReportAchievements:withCompletionHandler:中,据我所知,错误的来源可能来自两个地方:1)achivementArray不是NSArray或2)错误实际上不是一个NSError。
在#1的情况下,我创建了一个数组在行上的几行,并在情况#2,我怀疑操作系统发回一个非NSError对象。
任何想法?
是的,就是这样。不知道我是如何错过的。 – 2013-02-26 17:44:19