2013-04-23 40 views
0

我開發了一個使用Mac OS 10.7.5和XCode 4.6.2的應用程序。應用程序在我的機器上正常工作,沒有任何錯誤/警告。面向某些XCode/Mac OS上的PNGCrush問題(未詳細說明)

但是,當我嘗試在另一臺機器Mac OS 10.8和XCode 4.6.2上運行時,它顯示該機器中某些圖像的pngcrush錯誤。儘管pngcrush錯誤很少,但仍然可以在模擬器或設備上運行。

我的問題是:爲什麼兩端調試有差異,以及如何解決它。 (如何避免這類錯誤的)

錯誤消息

While reading ImagePath/ImageName.png pngcrush caught libpng error: Not a PNG file. 
+0

請發佈您收到的錯誤。 – 2013-04-23 15:11:00

+0

添加了錯誤消息。它拋出這樣的錯誤信息,但仍然應用程序完全運行在模擬器/設備上。 – Mrunal 2013-04-23 15:21:55

回答

2

Pngcrush是PNG的優化使用Xcode的壓縮包含在一個應用程序PNG圖像(可移植網絡圖形)文件,與目的是減少所構建的數據包的最終大小。

這將是在以下路徑

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin 

必須有兩種可能,

  1. 您的圖片已損壞。將其重新保存爲來自Photoshop的.png或採取新的。
  2. 檢查您是否在Xcode中添加了兩個/多個引用。如果是,則刪除舊的引用。
0

「不是PNG文件」的圖像可能已經通過Apple的私有Xcode SDK版本的pngcrush運行,這會生成不再有效的PNG文件的「優化」文件。

查看引發錯誤的文件的開頭,看看從第12個字節開始的字節是「CgBI」而不是「IHDR」。如果是這樣,您需要反轉更改。搜索「pngcrush」和「CgBI」以瞭解如何。