2009-06-18 7 views
0

私はTiger(OS X 10.4)の最小システム要件でコンパイルされているアプリを持っていますが、アプリがLeopard(OS X 10.5)で実行されている場合はSpacesを処理するコードをいくつか含める必要があります。複数のバージョンのコンパイル時に1つのオペレーティングシステムバージョンにのみ存在するメソッドへの呼び出しを含めるにはどうすればよいですか?

どうすればよいですか?

(私が作る必要があるのは-[NSWindow setCollectionBehavior:]です)。

答えて

3
  1. ビルドしているターゲットのすべての設定で、ベースSDKを呼び出しを含むOSのバージョンに設定します。
  2. デプロイメントのバージョンを、コードを起動する最初のOSに設定します。
  3. 以前のバージョンのOSでは存在しないすべての呼び出しについては、respondsToSelector :(メソッドの場合)またはnil(関数と静的な場合)のいずれかを使用して呼び出す前にテストする必要があります。 OSのバージョンを確認したい場合はできますが、特定の呼び出しを確認するのがより堅牢です。

Cross-Development Programming Guideは、これらの技術を詳細に記載している。

関連する問題