无法使用 loadImageWithCompletionHandler 加载 GKAchievementDescription 图像

Posted

技术标签:

【中文标题】无法使用 loadImageWithCompletionHandler 加载 GKAchievementDescription 图像【英文标题】:Can't load the GKAchievementDescription image with loadImageWithCompletionHandler 【发布时间】:2014-02-10 14:35:59 【问题描述】:

我正在使用 沙盒 环境为 ios 设备开发 Game Center。我正在尝试加载我在 iTunes Connect 中设置的成就图片

我正在成功使用 loadAchievementDescriptionWithConpletionHandler

当我尝试使用 loadImageWithCompletionHandler 加载图像时会出现问题。

[self.description loadImageWithCompletionHandler:^(UIImage *image, NSError *error) 
     if (!error) 
          self.achievementImage = image;
     
 ];

问题是 UIImage 和错误都是零。 这是由于沙盒环境造成的吗?我错过了什么吗?

谢谢

【问题讨论】:

如果您只是在 iTunes Connect 中添加了图像,通常会有延迟,直到您的游戏可以从沙盒服务器访问任何新的或更改的信息。如果图像在 iTunes Connect 中,您的代码应该可以正常工作。但是,您应该处理错误,而不是仅在所有这些 GameKit 块回调都没有一个时才继续。在调试时,即使是(潜在)错误描述的简单 NSLog 也很有帮助。 谢谢科尔宾。事实上,我处理的错误不止于此。但是,我对图像和错误都为零感到困惑。事实上,我仍然这样做。我将在 iTunes Connect 中重新设置我的图像。 您是否尝试过显示默认的成就视图控制器并查看它是否会加载图像? 好主意。谢谢。它不会显示在 GKGameCenterViewController 上。但现在,我似乎可以加载我的答案中提到的图像。 【参考方案1】:

我可以成功加载图像。看来我的图像格式是错误的。

我已删除成就并使用 512x512 72 dpi 图像创建了一个新成就。

使用 loadAchievementDescriptionsWithCompletionHandler。我从 Game Center 加载了所有的成就描述。然后,我使用 loadImageWithCompletionHandler 来提取图像。

[GKAchievementDescription loadAchievementDescriptionsWithCompletionHandler:^(NSArray *descriptions, NSError *error) 
    if (!error) 
        for (GKAchievementDescription *achievementDescription in descriptions) 
            [self.achievementDescriptionDictionary setObject:achievementDescription
                                                      forKey:achievementDescription.identifier];

            [achievementDescription loadImageWithCompletionHandler:^(UIImage *image, NSError *error) 
                if (!error) 
                    if (image) 
                        UIImage *achievementimage = image;
                    
                
            ];
        
    
];

【讨论】:

进一步测试。看起来是沙盒环境问题。问题来了又去。

以上是关于无法使用 loadImageWithCompletionHandler 加载 GKAchievementDescription 图像的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 StorageClass 配置卷 - 无法获取存储帐户的存储密钥

Worklight Studio 和本地开发,有时无法使用 Java 类,有时无法使用 HTML 文件

ADB无法使用解决办法

Ubuntu 80端口无法使用-非root用户无法使用1024以下端口

无法在 SQL Server 视图中使用工作查询:“IS”无法识别“>”无法识别

LINUX下的mail\mailx为啥无法使用外部SMTP发邮件