Swiftプロジェクトで Alamofire を使用しています。手動インストール手順の一部は、Embedded Binariesアプリケーションターゲットの[全般]タブ。
埋め込みバイナリとは何ですか?
埋め込みバイナリは、プロジェクトをビルドするときにアプリケーションバンドルにコピーされるバイナリファイルです。アプリケーションがサードパーティのフレームワークに依存している場合は、組み込みのバイナリを使用して、マシンにそれらのフレームワークをインストールしなくてもユーザーがアプリケーションを使用できるようにします。組み込みバイナリにより、ユーザーはサードパーティのフレームワークを手動でインストールする必要がなくなります。アプリケーションは、埋め込まれたフレームワークを使用します。
Alamofireの例では、アプリケーションはAlamofireに依存しています。 Alamofireフレームワークを埋め込まなかった場合、Alamofireを手動でインストールしない限り、誰もアプリケーションを使用できません。 Alamofireをアプリケーションに埋め込むことで、誰でもアプリケーションを実行できます。
「バイナリ」とは、コンパイルされたコード-「ソースコード」ではなく、コードをテキストとして記述するときに使用するものです。
彼らはcouldにソースコードを与え、yoをコンパイルさせたが、彼らはコンパイルしなかった。彼らはソースコードを秘密にしているので、彼らはそれをすべてあなたに与えましたafterコンパイルなので、あなたはそれを読むことができません。
「埋め込み」とは、ビルド時にアプリバンドルにコピーすることで、アプリバンドルに含めることです。
そのため、彼らはコンパイル済みのコード(フレームワーク)を渡して、それらをアプリバンドルに含める方法を教えています。これらのフレームワークは、Cocoaのフレームワークとは異なり、デバイス上にまだ存在しないため、アプリ内にそれらを含めない場合、それらは存在せず、アプリはそれらを呼び出すことができません。
これをCocoaのフレームワークと比較してください。それらもコンパイルされたコードです。しかし、それらはdoデバイス上に既に存在します。したがって、それらはアプリ内に埋め込まれていません。それらは単にlinkedです(そして、もし現れたら、次のグループLinked Frameworks and Librariesに現れるでしょう)。
framework
は、ダイナミックライブラリ、ヘッダーファイル、ストーリーボード、画像ファイル、ローカライズされた文字列などのリソースを単一のパッケージにカプセル化する階層ディレクトリです。フレームワークを使用するアプリは、アプリのバンドルにembed the framework
する必要があります。
したがって、フレームワークをアプリに埋め込むと、アプリのバンドルにコピーされるため、アプリのサイズが大きくなります。ほとんどのシナリオでは、サードパーティのフレームワークを使用しているときにこのセクションを使用します。
framework
をEmbedded Binaries
に追加すると、そのフレームワークもLinked Frameworks and Libraries
に自動的に追加されます。
詳細については、Apple documentation: https://developer.Apple.com/library/archive/technotes/tn2435/_index.html を参照してください。
Embedding
は、実際にはフレームワークのコピーをデフォルトでFrameworksディレクトリの下のアプリケーションバンドルに追加します。アプリケーションは、リンクされていない限り、そのフレームワークで何もできません。 Xcodeはこれをあなたに代わって自由にします。 [リンクと埋め込み]
ソースは here です