私は Cocoa touch に基づいた Objective-C フレームワークを開発しており、JSON と XML の両方のデータを解析するための他のフレームワークを検討しています。
開発者が私のフレームワークをすぐに使用できるようにしたいと考えており、サードパーティのフレームワークを条件付きで含める最善の方法を考えています。クレジットが必要な場合はクレジットを与えたいので、ディストリビューションに他のプロジェクトを含めたくありませんが、開発者が SBJson やXML に触れてコードベースを取得し、含まれているコードベースを確認して、それが提供する追加機能とともに使用します。ある種の構成ファイルを介して、またはプロジェクト設定でフレームワークを有効にすることもオプションですが、理想的ではありません。
コンパイラ設定でこれを行う最良の方法は何ですか? 含まれているフレームワークを「必須」から「オプション」に切り替える多くの開発者を見てきましたが、SBJson または Touch XML のいずれかが目的の c フレームワーク パッケージ (.framework) または C を使用してコンパイルまたは実装されているとは思いません。スタティック ライブラリ (.a) であり、これを利用することはできません。
これを条件付きでコードに実装するにはどうすればよいでしょうか。たとえば、SBJson のヘッダーは
#import "SBJson.h"
コンパイラ ディレクティブを介してインポートされますが、必要なヘッダーが見つからない場合、これは失敗します。