8

新しい 10.7 SDK 機能 (具体的には、アプリ内購入) の一部を使用する OSX アプリケーションを構築したいと考えています。ただし、10.6 ユーザーによるアプリケーションのインストールを完全に阻止したくはありません。

10.7 のユーザーが新機能にアクセスできるようにするにはどうすればよいですか? 10.6 のユーザーは単に新機能を持っていなくても基本的な機能を使用できますか?

10.6 用にコンパイルすると、期待どおりに「InApp」を持つ SDK が読み込まれません。また、10.7 用にコンパイルすると、ユーザーは AppStore からインストールできなくなると思います。

4

3 に答える 3

2

これらの方法のいずれかを使用して、ユーザーの OS バージョンを特定し、Lion を実行している場合はコードを実行し、実行していない場合はコードを実行します (if ステートメントを使用)。

編集:ストアキットフレームワークを弱いリンクにする必要もあります

于 2011-08-16T21:25:44.397 に答える
1

これが役立つかどうかはわかりませんが、新しいAPI(LionのみのAPIなど)では、respondToSelectorでIFステートメントを使用するだけです。

これはAppleによって提案された方法の1つであり、実行時に特定のOSを知ることを台無しにする必要はありません。

于 2011-12-04T20:17:00.357 に答える
0

ロードして 10.7 の機能を提供できるバンドルを作成できますか? 実際のアプリは、どの OS で実行されているかを確認し、10.7 バンドルをロードしない可能性があります。10.7-SDK バンドルが 10.6 SDK アプリでの読み込みを拒否するのは不合理ではないため、これが機能するかどうかはわかりません。

別の可能性として、内部に 2 つのアプリを配置し、ホスト OS を検出して OS に適した実行可能ファイルを実行する非常に小さなシェル アプリ (場合によってはスクリプトも) を配置することも考えられます。

于 2011-08-16T21:18:35.903 に答える