2011-09-05 7 views
-2

共有ライブラリをソースファイルとして含むプロジェクトがあります。
ライブラリクラスの中には、(既知のApple Reachabilityのような)いくつかのフレームワークのインクルードが必要なものがあります。
これらのフレームワークは、必要なクラス/メソッドを使用していないため、プロジェクトには含まれていません。
私はすべてのライブラリヘッダーを参照するMyStandardLib.hを持っています。これは私のアプリケーションの.pchに含まれています。iPhone - XCode 4メソッド呼び出しもオブジェクト使用もないリンカエラー

しかし...私のアプリを構築する場合

、リンカは、彼らがlogicalyリンクするべきではありませんので、私はアプリで/呼び出しを使用していないこれらのオブジェクトのためのリンクエラーを生成します。一例として、

enter image description here

私はプロジェクトからincriminatedクラスやフレームワークを削除した場合、すべてが正常に動作します。

私は必要なフレームワークを追加する場合:

  • それはクラスで私は
  • を使用することはありませんそれは便利な何も(26コのための私のアプリのファイルサイズを増加させるので、各プロジェクトのためにそれを行うためにクレイジーです - > 1.2のMo)

どのように私は、これらのリンカエラーを回避し、起こるべきではありませんリンクを避けることができます。

  • プロジェクト内にあるように私は本当にあなたがリンクされたライブラリがオプションであることを指定することができるそれら

答えて

0

理由は明らかにされている(あなたが提供することができるもの、彼らが使用してから:Reachabilityを、CFNetwork FrameworkとCoreLocationフレームワーク)

は何が起こっていることは(それのコンパイラの意味での)あなたのオブジェクトリンクをコンパイルするとき、それはまた、オブジェクトを探して追加したフレームワークで「を言及した」と彼らが持っていないので、それはそれらを見つけるされていないことですあなたのプロジェクトに含まれています。

Framework BにリンクされているFramework Aを使用する場合、アプリケーションCがフレームワークAを使用する場合、フレームワークは完全に自己完結型ではないため、フレームワークBも必要です。

これらのフレームワークを使用せずにコードをコンパイルしてアプリケーションの容量を少なくする必要がある場合は、単にビルドフェーズから削除してください。

しかし、それらのフレームワークなしでコンパイルしないと、プロジェクトにそれらを含めるしかないので、アプリケーションが必要とする最終的なスペースをさらに増やすしかありません。

+0

OKですが、私のアプリケーションはフレームワークAもフレームワークBも使用しません。これは単なるソースファイルで、コンテンツは使用されません。フレームワークAが必要です。 – Oliver

0

を必要とするまで、すべてのそれらの無用のフレームワークを含める必要がない

  • (私はコンパイル済みのライブラリを望んでいない)私のライブラリを維持します。それは助けることができる。

    ダイナミックリンクはiOSではオプションではありません。すべてが静的である:あなたのプロジェクトに含めているフレームワークは、これらの他のフレームワークを必要としますので、これらのエラーのため Can you build dynamic libraries for iOS and load them at runtime?

  • +0

    あなたは「オプション」について何を話していますか? – Oliver

    +0

    プロジェクト設定で、リンクされたフレームワークのリストを見てください。あなたは各枠組みに関して「必要な」テキストを持っていなければなりません。 これを「オプション」に変更すると、ウィークリーリンクされます。 (あなたの質問をもう一度読んで、これはあなたが特定の場合に役立つとは確信していますが、知っておくと良いです)。あなたは http://developer.appleに表情を持たなければならない チェック http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/Building/Building.html .com/library/mac /#documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html –

    +0

    はい、私はそれを知っていますが、あなたが言うように、tahtは助けになりません。あなたはあなたの答えを削除していただけますか? – Oliver

    関連する問題