当前位置: 移动技术网 > IT编程>移动开发>IOS > ios学习之真机测试 copy图片错误解决方案

ios学习之真机测试 copy图片错误解决方案

2019年05月12日  | 移动技术网IT编程  | 我要评论

奥拉星太阳果在哪,网络竞价赚钱,麻雀不当假凤凰

错误:
    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试图。

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网