前言:
今天在合并动态库的时候出现的一些问题,记录一下。哎!重点就是切记小心命令格式中间的间隔,<注:空格>一个都不能少,一个也不能多,今天就是吃了这个亏咯,可不能马虎。
注:合并的只是二进制文件 ,只要将合并好的二进制文件替换了原二进制文件即可使用
动态库合并合并其二进制文件即可:
lipo -create 真机路径/库名.framework/库名 模拟器路径/库名.framework/库名 -output 输出的目的地路径/库名(注意:这里跟静态库不同是库名哦!)
先了解两个简短的命令
lipo -creater <看字面意思就是创建啦!>
-output <输出路径喽>
例如:
lipo -create "Debug-iphonesimulator/库名" "/Debug-iphoneos/库名" -output "输出的目的地路径/库名"
lipo的几个错误
liop: command not found
注:检查命令是否正确,lipo -create -output,这个错了就没办法往下玩了
fatal error:xxxx/lipo: unknown flag:xxxx
注:-output前记得加空格,同时检查一下输出路径是否有写创建的库名
fatal error:xxxx/lipo: can't map input file:xxxx(Invalid argument)
注:动态库Framework合并的时候切记合并的是库里边的一个二进制文件点开你的库就会看见第一个目录下与库名一致的一个文件,注意看前言后的例子。
fatal error:xxxx/lipo: can't open input file:xxxx(Not a directory)
注:检查真机与模拟器路径间是否有空格间隙
fatal error:xxxx/lipo: can't create temporary output file:xxxxx(No such file or directory)