Architecturesのビルド設定を$(ARCHS_STANDARD_INCLUDING_64_BIT)
に設定して、iOS用の静的ライブラリを作成しました。
.aライブラリにそのアーキテクチャが適切に含まれていることを確認したいのですが、lipo -info
その上に、私は見る:
Fatファイルのライブラリ:library.aは次のとおりです:armv7 armv7s(cputype(16777228)cpusubtype(0))
これは、arm64が含まれていないということですか? lipoコマンドで通知できない場合、別の通知方法はありますか?
最新のコマンドラインツールをインストールしてXcode 5を実行しています。
はい、arm64スライスがあります。これを確認するには、ホストシステム(arm64を認識していない)ではなく、iOSツールチェーンのlipo
を使用する必要があります。
xcrun -sdk iphoneos lipo -info $(FILENAME)
古き良きfile
もトリックを行うことができます:
$ file libTestFlight.a
libTestFlight.a: Mach-O universal binary with 5 architectures
libTestFlight.a (for architecture armv7): current ar archive random library
libTestFlight.a (for architecture armv7s): current ar archive random library
libTestFlight.a (for architecture i386): current ar archive random library
libTestFlight.a (for architecture x86_64): current ar archive random library
libTestFlight.a (for architecture cputype (16777228) cpusubtype (0)): current ar archive random library
Appleの誰もfile
にarm64 cputypeを追加することを気にかけていないようです。
興味深いことに、iOS 7 Tech Talkビデオ(「現代アプリのアーキテクチャ、パート2」、PDF 35ページ))では、作業ファイルツールの出力を示しています。
のために .framework
lipo -info myFramework.framework/MyFramework