不知道你们有没有遇到过这种错误,这种错误致使的缘由是多样的,最多见的是在拷贝的过程当中出现的文件损坏.好比在 Mac 和 Window 之间拷贝的时候出现这种错误的几率是最大的,那么出现这种错误的缘由你们能够查看下Images.xcassets中的内部文件.一般正常的 Contents.json 文件是一些字典类型的数组,而损坏后的文件一般是些 X 进制类型的文件.json
X进制文件以下所示:数组
6300 0000 6300 0000 0000 0000 ff81 0000 0000 0000 207b 0a20 2020 2020 2022 6964 696f 6d22 203a 2022 6970 686f 6e65 222c 0a20 2020 2020 2022 7369 7a65 2220 3a20 2232 3978 3239 222c 0a20 2020 2020 2022 7363 616c 6522 203a 2022 3278 220a 2020 2020 7d2c 0a20 2020 207b 0a20 2020 2020 2022 6964 696f 6d22 203a 2022 6970 686f 6e65 222c 0a20 2020 2020 2022 7369 7a65 2220 3a20 2234 3078 3430 222c 0a20 2020 2020 2022 7363 616c 6522 203a 2022 3278 220a 2020 2020 7d2c 0a20 2020 207b 0a20 2020 2020 2022 6964 696f 6d22 203a 2022 6970 686f 6e65 222c 0a20 2020 2020 2022 7369 7a65 2220 3a20 2236 3078 3630 222c 0a20 2020 2020 2022 7363 616c 6522 203a 2022 3278 220a 2020 2020 7d0a 2020 5d2c 0a20 2022 696e 666f 2220 3a20 7b0a 2020 2020 2276 6572 7369 6f6e 2220 3a20 312c 0a20 2020 2022 6175 7468 6f72 2220 3a20 2278 636f 6465 220a 2020 7d0a 7d
对于正常的 Contents.json 文件中的内容应该是以下所示:xcode
{ "images" : [ { "idiom" : "iphone", "size" : "29x29", "scale" : "2x" }, { "size" : "29x29", "idiom" : "iphone", "filename" : "icon-1.png", "scale" : "3x" }, { "size" : "40x40", "idiom" : "iphone", "filename" : "icon.png", "scale" : "2x" }, { "idiom" : "iphone", "size" : "40x40", "scale" : "3x" }, { "idiom" : "iphone", "size" : "60x60", "scale" : "2x" }, { "size" : "60x60", "idiom" : "iphone", "filename" : "icon1-2.png", "scale" : "3x" } ], "info" : { "version" : 1, "author" : "xcode" } }
显而易见,也就是文件被莫名的转换了,那么问题来了,如何将这些文件转换回去呢?小编在这尚未找到一个完美的解决办法,不太小编的一般作法是将images.xcassets 中的全部的文件所有删掉,只添加AppIcon.appiconset和LaunchImage.launchimage(这两个文件夹须要从一个能打开的项目中拷贝过来就 OK)替换掉以前出问题的文件,其他的图片从新导入一遍就 OK 了,这个images.xcassets 在 Xcode 工程中就能打开了.若是你们有能解决上述编码格式莫名相互转换的方法的话但愿给我留言,你们共同窗习探讨.谢谢.app
对于刚接触 iOS 开发的人员来讲,推荐你们一个关于images.xcassets 介绍的博客链接地址(老刘,外号刀哥):iphone
http://blog.csdn.net/liufan321/article/details/9121241学习
著做权声明:本文为做者原创,欢迎转载分享。请尊重做者劳动,转载时保留该声明和做者博客连接,谢谢!编码