0

我运行 Xcode 4.3 和 Mac OSX 10.7。

我已经在一个应用程序上工作了几个星期,我面临一个特殊的问题:-

  1. 我在位于根目录的文件夹中拥有该应用程序的所有资产。
  2. 我有 shell 脚本,这些脚本在编译期间将这些资产放入一个包中。
  3. 我已经编写了自己的方法(类似于 imageNamed: )来处理图像缓存,并且普遍使用这种方法来制作所有 UIImages。

问题是某些图像没有反映在设备上的应用程序中,而所有图像都出现在模拟器上。

我已确保

  1. 图像名称与捆绑包中的名称正确匹配
  2. 将图像复制到包中(显示产品应用程序中的包内容)
  3. 此文件的权限也授予(文件上的 chmod 777)

有人知道可能出了什么问题吗?

更新 :

我清理了派生数据并从模拟器中卸载了应用程序并启动了它,现在相同的图像也不会出现在模拟器上,而相同的逻辑和代码适用于所有其他图像。

我面临与设备相同的问题。

此外,当我进入具有我要在屏幕上绘制的图像的屏幕时,我会收到以下错误:-

 <Error>: CGContextSaveGState: invalid context 0x0

 <Error>: CGContextSetBlendMode: invalid context 0x0

 <Error>: CGContextSetAlpha: invalid context 0x0

 <Error>: CGContextTranslateCTM: invalid context 0x0

 <Error>: CGContextScaleCTM: invalid context 0x0

 <Error>: CGContextDrawImage: invalid context 0x0

 <Error>: CGContextRestoreGState: invalid context 0x0
4

2 回答 2

3

您可以检查图像的名称。当您在设备上运行您的构建但无论哪种方式都可以在模拟器中工作时,它是区分大小写的。

于 2012-07-03T06:05:21.133 回答
-1

您还必须指定图像的扩展名才能在设备上工作。

[UIImage imageNamed:@"test.png"];
于 2012-07-03T06:57:48.860 回答