2012-07-03 78 views
0

我运行Xcode 4.3和Mac OSX 10.7。UIImage没有画在屏幕上

我一直工作在一个应用程序的几个星期,现在,我面临着一个奇怪的问题: -

  1. 我有我的所有资产,位于根文件夹中的应用程序。
  2. 我有shell脚本,它们在编译过程中将这些资源放入一个包中。
  3. 我已经写了我自己的方法(类似于imageNamed:),它负责图像缓存,并且通用这种方法来制作所有UIImage。

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

我已确保

  1. 的图像名称中给出正确匹配的名称在管束
  2. 即图像被复制到束(从产品应用显示包装内容物)
  3. 的这个文件的权限也给(chmod 777上的文件)

有没有人知道什么可能会出错?

UPDATE:

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

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

此外,我得到以下错误,当我进入其中有我想提请屏幕上的影像画面: -

<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 
+0

图像名称必须与包中的名称相同,区分大小写的问题。 – Deepesh

+0

我已经照顾他们匹配! – Sagar

+0

尝试一下年轻人 http://stackoverflow.com/questions/6597982/what-this-error-is-invalid-context-0x0 – 2012-07-04 11:31:54

回答

3

,您可以检查图像的名称。当你在你的设备上运行你的构建时,它是区分大小写的,但在任何一种模拟器中工作。

+0

我确实确保名称匹配正确。所以,不应该有大小写敏感的问题!虽然,感谢您的信息! – Sagar

-1

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

[UIImage imageNamed:@"test.png"]; 
+0

是的,我也这样做过。我已经在所有图像上均匀地完成了这一操作,但大约3张图像没有显示在设备上,其余的都是这样! – Sagar

+0

仔细检查该分机是否也是相同的情况。 @“test.PNG”和@“test.png”之间有区别。 – gregorkas

+0

我也这样做了!还没有运气! – Sagar