对iOS项目来说,静态库对于设备(Device)和模拟器(Simulator)的编译是不一样的。需要链接静态库的工程在编译Device和Simulator的时候需要区别对待。需要链接到不同的静态库。这就很麻烦。
解决方法是使用lipo指令,将Device静态库和Simulator静态库合并为一个静态库,链接静态库的工程只需要链接这个肥静态库即可满足Device和Simulator的编译。指令在命令行工具中输入lipo -create build/Debug-iphoneos/libname.a build/Debug-iphonesimulator/libname.a -output libname.a 这样在命令行输入指令还是麻烦,最好能够在Xcode中自动进行合并操作。 这样需要在静态库工程中添加一个Run script,方法是右键Targets->Add->New Target,选择Other->Shell Script Target,在Run Script中输入以上命令,编译这个RunScript即可完成合并操作。如果想要把Device和Simulator的静态库编译也自动化,在RunScript中添加编译即可。iOS合并静态库
最新推荐文章于 2024-10-31 19:41:47 发布