无法使用 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 文件
Ubuntu 80端口无法使用-非root用户无法使用1024以下端口