HelloWorld というアプリに含まれる、sampleStaticLib.a というユニバーサル スタティック ライブラリを作成したいと考えています。HelloWorld アプリは、静的ライブラリで定義された API を使用する必要があり、iOS シミュレーターと iOS デバイスの両方で動作する必要があります。インターネットのさまざまな投稿から、lipo ツールを使用してシミュレーターとデバイスの両方の静的ライブラリをユニバーサル ライブラリに集約し、HelloWorld.xcodeproj 内にユニバーサル ライブラリを含めることでこれを達成できることを理解しています。
ただし、代わりに、次のことを行う場合:
- 静的ライブラリ xcodeproject (sampleStaticLib.xcodeproj) の有効なアーキテクチャを「armv7 armv7s arm64 i386 x86_64」に設定するだけです。
- sampleStaticLibrary.a を生成します
- HelloWorld.xcodeproj に含めます
「sampleStaticLib」の有効なアーキテクチャを x86 と ARM にまたがるすべてのアーキテクチャに設定したので、ライブラリはシミュレータとデバイスの両方で動作するはずです。しかし、シミュレーターでは機能しません。
では、幅広い「有効なアーキテクチャ」を設定することで、ユニバーサル スタティック ライブラリを作成する際に「lipo ツール」を使用する必要がなくなるのではないでしょうか?