Our app supports iOS5 however one of our 3rd party static libraries has started strongly linking against iOS6 symbols in UIKit
. I'd like to change this linkage to weak and disable the library on iOS5 (assuming the library doesn't use the symbols in load
).
I'm looking for something like what I imagine objcopy --weaken-symbol
from linux does, so does anyone know of any likely tools or will this involve learning the mach-o
format?
I'm none the wiser on mach-o, but I realised that static libraries can't actually decide on how they link against my frameworks. Only I can do that.
So I went into Target > Build Phases > Link Binary With Libraries
and set UIKit
to Optional. Now the app launches on iOS5 and I can simply (I think!) not call the offending library.
I'm only slightly disappointed I didn't get to write a re-linking tool