static libs & weak linking

We are using a 3rd party (binary only) static lib with our apps, which unfortunately was recently compiled with a higher deployment target (iOS 6) than our apps (iOS 5.1.1). As consequence our apps would now immediately crash on devicees with iOS 5 on startup, since some iOS 6 symbols referenced by the static lib are missing on such devices.


Since we only have access to the binary of this static lib we cannot recompile the static lib on our own. But is there a way with command line tools to lower the deployment target of the static lib and thus turning the respective hard linked symbols into weak ones?

Hi,


there's no way to change deployment target via command line tools.


I would suggest to contact vendor and ask for older version of their binary. I assume they had a discussion regarding dropping iOS 5. But maybe this was a mistake and they are not aware of this issue.


My other suggestion is to use older version of the library.


My final suggestion is to drop iOS 5 support. There's no need in supporting iOS 5 since even iPhone 3GS can support iOS 6.

static libs & weak linking
 
 
Q