1

我正在制作一个启用 OpenFeint 的 iOS 应用程序。除了一项成就外,我已经成功地完成了所有工作。这一成就是部分完成的。

我的具体问题是我还没有找到一个可行的解决方案来增加 1% 到当前的成就百分比。

我找到了这个值(它应该是 a 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;
    }

这是我在这个应用程序上要做的最后一件事,它已经困扰我好几天了。

4

2 回答 2

0

确认NSSString成就 id 是正确的,我认为它返回一个int,而不是双精度。

使用 OpenFeint 获取当前的成就进度

于 2011-04-08T09:50:50.127 回答
0

OpenFeint 支持人员表示,由于安全问题,他们尚未集成该部分。

话虽如此,我现在已经求助于存储一个包含数据的文件,以便我以后可以检索它(当然使用一个等式来隐藏实际值)

于 2011-07-02T20:34:43.247 回答