1

Lion で Cocoa アプリを開発しましたが、Leopard および Snow Leopard との互換性を追加したいと考えています。

開発ターゲットを 10.5 に設定しようとしましたが、Leopard と Snow Leopard ではまだクラッシュの問題があります。

また、古いバージョンの Xcode でプロジェクトを開こうとしましたが、何百ものコンパイル エラーが発生します (古い Mac OS SDK でプログラムをコンパイルできないためだと思います)。

Cocoa Apps のレトロ互換性の問題を解決するためのアドバイスはありますか?

4

2 に答える 2

4

一般的に、最新の OS 向けに開発し、最終段階で古い OS をサポートしようとするのはあまり良い考えではないと思います。サポートしようとしている最も古い OS より後に導入された API を使用している場合は、それらの API を使用しないようにコードを書き直す必要があります。一般的には、問題を起こす価値はありません。

そうは言っても、古い OS をサポートする秘訣はありません。サポートしようとしている最も古い OS で利用可能な API (クラス、メソッド、関数) のみを使用するようにする必要があります。ドキュメントを見ると、各メソッドの「可用性」の下に、そのメソッドが含まれている OS のバージョンが示されていることがわかります。何かのようなもの:

提供状況
Mac OS X v10.6 以降で利用可能。

ターゲットにしている OS バージョンで利用できない API を使用しないと仮定すると、デプロイ ターゲットをターゲットにしている最も低い OS に設定してビルドするだけで済みます。もちろん、サポートしている各 OS バージョンについても徹底的にテストする必要があります。

Leopard と Snow Leopard で発生している「クラッシュの問題」について詳しく説明していただければ、質問への回答がより簡単になります。

于 2012-07-20T16:09:36.350 に答える
0

まず、Mac に 10.5 SDK をインストールします。これは必要ないかもしれませんが、とにかく実行してください。インターネットで手順を見つけることができます。10.5 SDK でコンパイルすると互換性が保証されますが、動的にロードしない限り、新しい OS X 機能を使用できないことに注意してください。

次に、.xib ファイルに移動し、[ファイル プロパティ] タブ ([インスペクター] ペインの最初のノッチ) で自動レイアウトを無効にし、展開ターゲットを 10.5 に設定します。

于 2013-05-09T23:15:48.190 に答える