13

我在应用程序中有一些 HTML 内容页面,我正在使用 UIWebView 来显示它们。其中一些页面中有一个 PNG 图像,它在 xcode 的调试控制台中生成以下消息:

ImageIO: PNG invalid PNG file: iDOT doesn't point to valid IDAT chunk

图像仍然显示并且看起来正确。此外,这只发生在我在 iPad(第 3 代)上运行应用程序时。我的 iPhone 4 不显示此消息。

我的第一个想法是它是由文件名中的 ~ 字符引起的(我已将 ~ipad 标记添加到文件名中)。但是,删除 ~ 字符没有任何效果。

我已经进行了谷歌搜索,但我只得到 3 个结果。其中2个是中文的,谷歌的翻译似乎翻译得不好。其他结果似乎是和我有同样问题的人,但没有回复他的帖子

4

6 回答 6

12

有同样的问题。解决方案:使用标准程序“颜色同步实用程序”,您可以从启动板加载。打开 png 文件并使用实用程序将其保存。

于 2012-08-29T10:55:51.227 回答
4

“清理”项目(xcode 菜单路径:product -> clean)为我解决了这个确切的问题。

没有用新名称重新保存 .png。

图像确实出现在模拟器中,但没有出现在测试设备上(ipod touch 5th gen.)

非常大的图像 4000 x 4000

于 2016-09-24T18:06:08.600 回答
2

奇怪的是,大约一个小时前我遇到了完全相同的问题。我没有找到失败的具体原因,但我认为我能够“修复”图像以使其正确显示而不会引发错误。

我刚刚在预览中打开它并从源中导出了一个新的 PNG 文件。一旦我用新创建的图像替换了项目文件中的坏图像,我清理、编译并按预期工作。

希望对你来说就这么简单...

于 2012-08-17T18:04:36.220 回答
1

我的应用程序遇到了同样的问题。事实证明,用户上传到我的服务器并使用 php +imagemagik 编辑的图像被删除了。我使用以下命令编辑上传的图像:

convert $uploadfile -resize 300x300 -quality 30 -strip $uploadfile

当我删除-strip参数时,错误消失了!

于 2013-08-01T17:56:12.147 回答
1

您可能想检查您在另一个目录中是否有另一个同名文件。这就是对我造成此错误的原因..(重复的 Default.png)

于 2013-02-25T22:45:03.853 回答
-1

这里同样的问题。
1 - 关闭 XCode;
2 - 在 Photoshop 中打开图像;
3 - 以 80% 的质量重新保存(替换相同的图像);
4 - 打开 XCode,清理它CMD + SHIFT + K
5 - 再次在您的设备中构建它;

非常简单,为我工作。
以及对于你 ?

于 2016-11-01T17:08:35.943 回答