Нераспознанный селектор для вызова достижения openfeint unlock - PullRequest
1 голос
/ 27 января 2011

Я использую вызов так, как он должен использоваться, но он вызывает сбой.

//someId is a correct achievement ID
[OFAchievementService unlockAchievement:@"someId"];

и я получаю следующую ошибку

Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: '+ [OFAchievementService unlockAchievement:]: нераспознанный селектор, отправленный в класс 0x26f1c8'

Я также получаю предупреждение

предупреждение: «OFAchievementService» может не отвечать на «+ unlockAchievement:»

Как можно вызвать эту функцию? Это выглядит правильно в соответствии с примерами.

Ответы [ 2 ]

2 голосов
/ 27 января 2011

Попробуйте:

OFAchievementService *openfeint = [[OFAchievementService alloc] init];
[openfeint unlockAchievement:@"someId"];
[openfeint release];

методы экземпляра начинаются с - методы уровня класса начинаются с +.

С OpenFeint SDK 2.7 + попытаться:

/* The following example shows how to unlock an achievement completely in one step without bothering to show a notification: */
[[OFAchievement achievement: achievementId] updateProgressionComplete: 100.0f andShowNotification: NO];
1 голос
/ 10 апреля 2011

Следующая строка работала достаточно хорошо для меня (в OpenFeint SDK версии 2.10i ):

[[OFAchievement achievement:@"achievementID"] unlock];
...