图片优化ios学习之真机测试 copy图片错误解决方案
本文纯属个人见解,是对前面学习的总结,如有描述不正确的地方还请高手指正~
错误:
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试图。
文章结束给大家分享下程序员的一些笑话语录:
自行车
一个程序员骑着一个很漂亮的自行车到了公司,另一个程序员看到了他,问 到,“你是从哪搞到的这么漂亮的车的?”
骑车的那个程序员说, “我刚从那边过来, 有一个漂亮的姑娘骑着这个车过来, 并停在我跟前,把衣服全脱了,然后对我说,‘你想要什么都可以’”。
另一个程序员马上说到, “你绝对做了一个正确的选择, 因为那姑娘的衣服你 并不一定穿得了”。
---------------------------------
原创文章 By
图片和优化
---------------------------------