我正在制作支持OpenFeint的iOS应用。 我已经设法让除了一项成就之外的所有成就都有效。这一项成就是部分完成的。
我的具体问题是我没有找到一个有效的解决方案,可以将当前成就百分比增加1%。
我发现了这个值(它应该是double
):
double achievement12 = [OFAchievementService getPercentComplete:ach12Id
forUser:[OpenFeint lastLoggedInUserID]];
但这会导致以下错误和警告:
“初始化时无法将'objc_object *'转换为'double'。
'OpenFeint'可能无法响应“+ lastLoggedInUserId”
'OFAchievementService'可能无法响应“+ getPercentComplete:forUser:”
实际的功能代码是:
// Note: this should be moved into public API
+ (double) getPercentComplete:(NSString*)achievementId forUser:(NSString*)userId
{
sAlreadyAtLeastPartlyCompleteQuery.bind("achievement_definition_id", achievementId);
sAlreadyAtLeastPartlyCompleteQuery.bind("user_id", userId);
sAlreadyAtLeastPartlyCompleteQuery.execute();
float percentComplete = (double) (sAlreadyAtLeastPartlyCompleteQuery.getDouble("percent_complete"));
sAlreadyAtLeastPartlyCompleteQuery.resetQuery();
return percentComplete;
}
这是我在这个应用程序上要做的最后一件事,现在已经困扰了我几天。
答案 0 :(得分:0)
确认NSSString
成就ID是正确的,我认为它会返回int
,而不是双倍。
答案 1 :(得分:0)
OpenFeint支持表示,由于安全问题,他们尚未集成该部分。
话虽如此,我现在已经使用了存储数据的文件,所以我可以稍后检索它(使用方程来隐藏当然的实际价值)