I have a native iOS static library built a few years ago by a vendor to support their hardware add-on. Past versions of the library included slices for both i386 and x86_64 that did not do anything, but if they aren't called, don't hurt anything. That would let me load an app that uses the resulting iOS binding library on both real devices, and in the simulator. On the simulator, my app would conditionally not use their SDK, and things would be fine.
The vendor dropped the x86_64 slice from their static library in their latest version. As a result, when I try to build an app using the new binding library, native symbols are missing. I am not likely to get the vendor to update their library to add back x86_64 in a reasonable amount of time.
Can anyone sketch out a way that I could build a binding library that would resolve native symbols if present in an architecture, and stub them out if missing? Since the binding library is built for multiple architectures, I can't think of a compile-time approach. I would need a way for the consumer of the binding library to have stubs of the APIs exposed by binding to ARM.