2016-12-02 12 views
1

Xcodeのアプリケーションプロジェクトには、[一般]タブの[埋め込みバイナリ]セクションがあります。しかし、Cocoa Touch Static Libraryプロジェクトにはこのセクションはありません。Xcodeの「埋め込みバイナリ」に相当する静的ライブラリは何ですか?

ライブラリで「埋め込みバイナリ」を使用できないのはなぜですか?図書館プロジェクトにはこれと同等のものがありますか?

私は、アプリケーションから静的ライブラリへのフレームワークの依存関係を移動しようとしています。このアプリケーションでは、依存関係は「組み込みバイナリ」として正常に組み込まれていますが、これは静的ライブラリプロジェクトのオプションではありません。私は "リンクされたフレームワークとライブラリ"に追加された依存関係フレームワークを使用してライブラリを構築することができますが、依存関係フレームワークにはユニバーサルバイナリがあるにもかかわらず、 "フレームワークがアーキテクチャに見つかりません"正しいアーキテクチャをターゲットとしています。

CarthageやCocoaPodsを使用しない静的ライブラリ内のフレームワークの依存関係をベストプラクティスに含めるのはどうですか?

+0

ライブラリをラップします。 https://pewpewthespells.com/blog/convert_static_to_dynamic.html – shallowThought

答えて

0

スタティックライブラリは、ビルド時にとアプリのバイナリにリンクされています。したがって、それらはアプリに含まれており、それらを埋め込む必要はありません。逆に、フレームワークと動的ライブラリは、実行時にロードされ、リンクされます。したがって、Xcodeはビルド時にダイナミックライブラリをアプリバンドルにコピーして署名し、実行時にコードをロードすることができます。

1

埋め込みバイナリは、アプリケーション独自のパッケージディレクトリ構造にコピーされるフレームワークです。アプリケーションはそれらにリンクされていますが、独自のパッケージにフレームワークが含まれているため、別途インストールする必要はありません。

スタティックライブラリはパッケージではないため、フレームワークをパッケージにコピーすることはできません。依存するフレームワークは別々にインストールする必要があります。

スタティックライブラリを使用しているアプリケーションのアプリケーションパッケージにフレームワークをコピーする必要があります。

関連する問題