1

我使用应该使用的调用,但它会导致崩溃。

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

我收到以下错误

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“+[OFAchievementService unlockAchievement:]:无法识别的选择器发送到类 0x26f1c8”

我也收到警告

警告:“OFAchievementService”可能不会响应“+unlockAchievement:”

应该如何调用此函数?根据示例,这看起来是正确的。

4

2 回答 2

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];
于 2011-01-26T22:44:37.280 回答
1

以下行对我来说足够好(在OpenFeint SDK版本2.10i中):

[[OFAchievement achievement:@"achievementID"] unlock];
于 2011-04-10T17:12:31.367 回答