私はサードパーティのライブラリの開発者であり、armv7s用にライブラリを再コンパイルしたいのですが、問題があるようです。
Xcodeを4.5に更新しました。プロジェクトと関連するターゲットを更新して、armv7 armv7s
の有効なアーキテクチャを使用しました。
ただし、file
またはlipo -info
を実行すると、次のように表示されます。
Armv7はありません。私は何かが足りないのですか?
XCodeのlipoを使用します。
xcrun -sdk iphoneos lipo
どうやら、(cputype (12) cpusubtype (11))
はarmv7sのもう1つの命名法です。
詳細はこちらをご覧ください: http://www.galloway.me.uk/2012/09/hacking-up-an-armv7s-library/
上記のブログでは、一部のライブラリarmv7sビルドと互換性を持たせる方法についても説明しています。上記の説明は、彼がfile
コマンドからの出力について説明している記事の終わり近くにあります。
その一部を引用するには:
このヘッダー(Mach-Oヘッダーと呼ばれる)の中には、CPUタイプとCPUサブタイプのフィールドがあります。 ARMはCPUタイプ12、armv7はCPUサブタイプ9、armv7sはCPUサブタイプ11です。
リポにはarmv7sの定義がないため、名前は表示されず、CPUタイプとサブタイプのみが表示されます。したがって、このファットバイナリは問題ありません。新しいアーキテクチャを手動で操作したい場合は、Appleがツールを更新するまで待つ必要があります(たとえば、現時点では、armv7を手動でマージする方法はありません)。スリムバイナリからファットバイナリへ)。