最近升级了Mac系统,连带着也升级了ruby,cocoaPod。在使用我们自己封装的支付宝SDK时,发现引入OpenSSL报错了,提示说cp: file.tgz: No such file or directory,很奇怪,以前都没有出现过错误。打开pod的git,发现该库已经很久没有维护了,issue里也有人提出了相同问题。仔细看了下podspec文件里的pre command,发现它是将压缩文件放到一个临时目录,再解压,然后编译成库。再回去看cocoaPod的下载库,也是下载到一个它内部使用的临时目录,然后解压到目标目录,发现两者的流程并没有串起来的,而且最近一次更新添加了删除下载下来的压缩包的代码,所以导致pre command里的当前目标目录下并没有这个压缩文件。
解决办法,就是把解压好的文件再拷回到原本要解压的临时目录去,然后去掉解压命令。。。
cp -rf "${BASEPATH}/" "${CURRENTPATH}/openssl-${VERSION}"
#cp "file.tgz" "${CURRENTPATH}/file.tgz"
cd "${CURRENTPATH}"
#tar -xzf file.tgz
cd "openssl-${VERSION}"
现在可以使用OpenSSL-XM代替