19

要するに:

クライアントがそのライブラリとリンクするときに、そのライブラリが依存するフレームワークともリンクするように、Xcodeで静的ライブラリを作成する方法はありますか?

問題:

すべての共通コードを含む複数の静的ライブラリターゲットを含む共有Xcodeプロジェクトがあります。たとえば、プロジェクトで共有ネットワークコードを使用する場合、プロジェクトで行う必要があるのは、ネットワークライブラリ内のリンクだけです。

問題は、ライブラリが依存するフレームワークを「含んでいない」ように見えることです。

たとえば、サウンドライブラリはAudioToolkit.frameworkを使用します。SoundライブラリのリンクライブラリのリストにAudioToolbox.frameworkが含まれている場合でも、AudioToolkit.frameworkと直接リンクしていないと、クライアントはSoundとリンクするときにリンカーエラーを受け取ります。

ライブラリのフレームワークの依存関係が変更されるたびに、すべての依存プロジェクトのリンクされたフレームワークのリストを手動で変更するため、これはメンテナンスの手間です。

これは機能するはずですか?もっと良い方法はありますか?

ありがとう!

4

2 に答える 2

2

要するに、いいえ、静的ライブラリは単なる.oファイルの集まりです

解決策は、共通コードを「静的フレームワーク」にリファクタリングすることです。可能な解決策については、そこを参照してください。

于 2009-12-15T16:14:20.187 に答える
0

この質問に対する新しい答えは、はい、可能です: ココアポッドを使用してください! :)

http://cocoapods.org

于 2013-09-23T15:20:14.423 に答える