iOS开发中WebP格式的64位支持处理
几个月前我们项目中添加了对webp格式的处理。期间遇到了一些问题,这是当中的一个小的记录。
官方下载地址:https://code.google.com/p/webp/downloads/list
对于iOS端,官网上提供了一个webp.framework,可是非常可惜,这个framework仅仅支持32位,对于已经强制要求64位支持的iOS来说并不好用,因此我们须要进行一些处理。
首先我们下载其源代码,由于iOS支持c和c++,因此能够把源代码导入项目中来进行处理,但实际操作时发现编译无法通过,排查后发现主要有两个原因:
1.项目中使用webp的SDWebImage库对部分c函数进行了定义,源代码中也有定义,出现反复定义的方法,须要删掉反复函数的当中一个定义
2.源代码中有部分汇编。无法在64位下编译通过,因此我关闭了这部分汇编代码的使用,所有由其内部的c语言实现。可能有部分性能损失。但不影响使用。
经过以上两步处理后,源代码可在项目中顺利编译通过。
之后可借助于SDWebImage库中对于webp的封装进行对应的处理。
写的比較简单,算是一个记录总结吧。