前置き
iOSでは2015/02から新規アプリの64bit対応が必須に、また2015/06からアップデートも64bit対応が必須になりました。
自分のコードだけで完結すればいいのですが、third partyのライブラリなどをつかっているとそのライブラリも64bit対応をする必要があります。
チェック方法
fileコマンドを用いるとチェックが可能です。
$ file libzbar.a
libzbar.a: Mach-O universal binary with 3 architectures
libzbar.a (for architecture armv7): current ar archive random library
libzbar.a (for architecture armv7s): current ar archive random library
libzbar.a (for architecture arm64): current ar archive random library
iosの静的バイナリはいわゆる universal binaryとかfat binaryという形式で、複数のアーキテクチャのマシンコードが含まれています。
この中に arm64
が含まれているとそのライブラリは64bit対応がなされています。
$ file Crashlytics.framework/Crashlytics
Crashlytics.framework/Crashlytics: Mach-O universal binary with 5 architectures
Crashlytics.framework/Crashlytics (for architecture armv7): current ar archive random library
Crashlytics.framework/Crashlytics (for architecture armv7s): current ar archive random library
Crashlytics.framework/Crashlytics (for architecture i386): current ar archive random library
Crashlytics.framework/Crashlytics (for architecture x86_64): current ar archive random library
Crashlytics.framework/Crashlytics (for architecture arm64): current ar archive random library
また*.frameworkなども中身にstatic binaryがふくまれているので、fileコマンドで同様に対応を確認することが可能です。