錯誤:
CopyPNGFile /Users/gongihou/Library/Developer/Xcode/DerivedData/KTVgo-frborfduejxrajgpkfdaipygijow/Build/Products/Debug-iphoneos/KTVgo.app/zhuangtai.png KTVgo/zhuangtai.png
cd /Users/gongihou/Documents/910
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/copypng -compress "" /Users/gongihou/Documents/910/KTVgo/zhuangtai.png /Users/gongihou/Library/Developer/Xcode/DerivedData/KTVgo-frborfduejxrajgpkfdaipygijow/Build/Products/Debug-iphoneos/KTVgo.app/zhuangtai.png
Not a PNG filCommand /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/copypng emitted errors but did not return a nonzero exit code to indicate failure
[attachment=47489]
方案:
1、
TexturePacker PNG 圖片優化
如果你有某些原因,讓你堅持要使用PNG文件格式而不是我之前極力向你推薦的pvr.ccz文件格式,那麼TexturePacker有一個選項,叫做“Png Opt Level”(Png優化級別),可以幫助我們減少png文件的大小(注意:這樣並不會影響圖片加載時間)
就我目前的理解來看,最大的優化級別可以生成最小的文件大小。但是,它有一個缺點,就是非常耗時。對於2009年出的27寸的iMac來說,處理尺寸稍大的紋理,需要耗費10-20的時間來處理。由於該優化過程采用了多線程的方式,所以,如果你有機器是四核的,那麼速度應該會快一些。
當然,你只有在真正發布應用的時候才需要利用這個優化特性。現在的問題是,它到底可以減少多少文件體積呢?
我最大的一張png圖片從2.4MB減少到了2.2MB.小一些的紋理從180kb減至130kb。可能單個文件減少的量並不是很多,可是當你的png圖片的總大小有18MB時,它可以使之減少至16MB。
注意,在xcode裡面有一項設置,你可能會把它忽略掉。你需要關閉"Compress PNG files"開關,因為這個選項有可能會使你的png圖片膨脹。你可以在xcode的build settings裡面設置,如下所示:
如果激活此png壓縮選項,xcode會在png文件打包進程序的時候運行自帶的png優化程序。所以,有可能會使我們先前使用TP優化過的png圖片再次膨脹。因此,再次確保這個選項已關閉!
不過即使你沒有禁用此選項,你的程序大小還是會有所減小。因為,你有可能使用一些沒有被TP優化過的png圖片。
2、將圖片放到bundle裡邊(制作bundle方法,創建一個文件夾,將內容放進去,然後重命名,將文件夾後綴名改為bundle就OK了)。然後將bundle添加入工程,
下邊是對bundle中內用的使用。
首先需要添加#import <QuartzCore/QuartzCore.h>頭文件
NSBundle *myBundle = [NSBundle bundleWithPath:[[NSBundle mainBundle]pathForResource:@"Bundle" ofType:@"bundle" ]];//獲取設定的bundle
NSString *imageStr = [myBundle pathForResource:imageName ofType:@"png"];//在該路徑下尋找imageName為名字的圖片後邊是格式,返回值是圖片的絕對路徑
[_imgView setImage:[UIImage imageWithContentsOfFile:imageStr]];//將圖片添加到imageView試圖。