当前位置:编程学习 > wap >>

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试图。

 

补充:移动开发 , IOS ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,