Неизвестный селектор вызова достижения openfeint unlock

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

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

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

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

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

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

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


person some_id    schedule 26.01.2011    source источник
comment
Какую версию OpenFeint SDK вы используете?   -  person John Parker    schedule 27.01.2011
comment
Используется OpenFeint версии 12102010 (2.8). api.openfeint.com   -  person some_id    schedule 27.01.2011
comment
Почти уверен, что они изменили биты API достижений в 2.7 - я бы хотел проверить документацию API, чтобы убедиться, что этот метод все еще действителен.   -  person John Parker    schedule 27.01.2011
comment
Спасибо. Теперь он работает благодаря WrightCS.   -  person some_id    schedule 27.01.2011


Ответы (2)


Пытаться:

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];
person WrightsCS    schedule 26.01.2011
comment
Неа. не работает. :( Такая же ошибка. '- [OFAchievementService unlockAchievement:]: нераспознанный селектор отправлен в экземпляр 0x734b290' - person some_id; 27.01.2011
comment
какую версию SDK вы используете? - person WrightsCS; 27.01.2011
comment
Приятно 1. Это сработало. Спасибо. Вы знаете, как можно настроить уведомления для ориентации текущего представления? Спасибо - person some_id; 27.01.2011

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

[[OFAchievement achievement:@"achievementID"] unlock];
person Erfan    schedule 10.04.2011