The Xcode 4.5, or rather, the iOS6 SDK (because the libraries available depend on the SDK, not the version of Xcode) still has libxml2.2.dylib .
This is most likely not version 2.2.7.3, but the new, updated version 2.2.xy, built into the SDK.
Usually you do not associate your application with a specific version of such libraries, but better with a general version, for example libxml2.dylib or libxml2.2.dylib .
In general, libraries respect the semantic version, which means:
- their main version is changed only when the API is not backward compatible with the previous main version,
- minor version changes only when new methods are introduced into the API, but are still compatible with the previous API,
- The version of the patch means that some errors have been fixed, but the API has not changed.
So, if libxml complies with this semantic version control (and I think it is like any standard library), each version 2.2.xy of libxml compatible with the API with any other version 2.2.xy and will continue to work with your program. The hypothetical new version of libxml2.2.xz simply fix the errors, but will not change its API. And when the libxml2.3.xy version libxml2.3.xy , it will still be backward compatible with 2.1 and 2.2 too (just adding new features but not undoing the existing ones).
This way, you can safely link your application to the general version of the libxml2.dylib library, which will automatically point to the latest version 2.xyz available in the current SDK. Or a link with libxml2.2.dylib that points to the latest version 2.2.xy (these are symbolic links to the latest versions, as all UNIX-like OSs do)
source share