I have so far used Google APIs Client Library for Objective-C by compiling the source files directly into my app (as described here). If I were to switch over to linking to the iOS static library (as also described here), how would this insure that the code works on different architectures?
For instance, if I follow the verbatim instruction I have to compile the static library by choosing a schema (GTLTouchStaticLib
) and an architecture (e.g. iOS Simulator: iPhone 5
). If I choose a simulator as architecture, file libGTLTouchStaticLib.a
reports that the archive contains code for architectures i386
and x86_64
. If I choose a physical iPhone 5 instead, file
reports on architectures armv7
and arm64
.
How do I ensure that the libGTLTouchStaticLib.a
that I'm going to drag into my application project's Build Phases "Link Binary with Libraries" list (according to Google's instructions) contains all (not just some) of the architectures that might be encountered when my app goes life? I guess armv7
and arm64
is sufficient for an app that requires iOS 8, but I'd like to be sure.)
You have to combine the generated binaries using lipo
command line tool.
The following tutorial about creating static library in iOS demonstrates use of lipo
under section Universal Binaries