【问题标题】:OpenFeint achievement percentage incrementOpenFeint 成就百分比增量
【发布时间】:2011-04-07 20:06:19
【问题描述】:

我正在制作一个支持 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;
    }

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

【问题讨论】:

  • 这是一个 NSString,其中包含我的第 12 个成就的成就 ID

标签: iphone partial openfeint achievements


【解决方案1】:

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

Using OpenFeint to get current Achievement progression

【讨论】:

  • id 是正确的,但它不会因为错误而构建,即使它这样做了,警告仍然会影响它,因此它不会工作
  • 我在名为 OFAchievementService+private.mm 的 OpenFeint 文件之一中找到了该函数,并将其包含在我的问题中。
  • 您使用的是什么版本的 OpenFeint?上次我使用它时,int 工作正常。
  • 根据控制台我使用的是 OpenFeint 版本 3072011 (2.9.1)
  • 我差点忘了,当我输入“int”而不是“double”时,我得到一个不同的错误,“无法在初始化中将 'objc_object*' 转换为 'double'。”。相反,我得到“从'objc_object'到'int'的无效转换”
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多