How to merge the static libraries into single one?
I do have three static libraries libSignatureLibary_armv6.a , libSignatureLibary_armv7.a and libSignatureLibary_i
Open terminal and go to folder with your libs. Then use command:
lipo -create libSignatureLibary_armv6.a libSignatureLibary_armv7.a libSignatureLibary_i368.a -output libSignatureLibary.a
lipo command
Create or operate on a universal file: convert a universal binary to a single architecture file, or vice versa.
lipo
from the liposuction
. As you know when you build a project Xcode generate binary for different CPU architectures.
fat
binary. Another example is when you publish an app to AppStore you can remove unnecessary arch using -remove
option.
If you try to build a project with a binary without necessary arch you get an error[Could not find module for architecture]
Architectures:
If you try run this command for binaries with the same arch you will get
fatal error: <binary_list> have the same architectures (<arch>) and can't be in the same fat output file
Please note that -create
option do not have parameters
lipo libMy_armv6.a libMy_armv7.a libMy_i368.a -create -output libMy.a
To check existing architectures
lipo -info <binary_path>
//or
file <binary_path>
[Vocabulary]
lipo -create libSignatureLibary_armv6.a libSignatureLibary_armv7.a libSignatureLibary_i368.a -output libSignatureLibary.a