Mac OS XおよびiOS用のクラスライブラリを、OS X用のCocoaフレームワークとiOS用の静的ライブラリとしてリリースする予定です。問題を単純化するために、私はXcodeで複数のターゲットを使用するつもりです。しかし、Mac OS XのクラスはCocoa.hとリンクしていますが、iOSではFoundation.hとリンクしています。MacとiOS用に異なるヘッダファイルをインポートするためにプリプロセッサディレクティブを使用できますか?
私の質問は基本的には、次のとおりです。
- Foundation.frameworkに対してはMac OS Xのフレームワークのリンクではなくてもらえますか?フレームワーク内で使用されるクラスは、NSString、NSMutableString、およびNSMutableArrayです。
フレームワークの組み込みを制御するために、ヘッダファイル内にプリプロセッサディレクティブを使用できますか?
#ifdef MacOSX #import <Cocoa/Cocoa.h> #else #import <Foundation/Foundation.h> #endif
このhttp://stackoverflow.com/questions/3181321/which-conditional-を見てみましょうMac-and-iphone-specific-code間のコンパイルから使用への切り替え – detunized