元の回答は、アプリの購入で前日からです。現在の正解は、単一のバイナリを出荷し、アプリ内アップグレードを通じて有料バージョンを提供することです。コードが少し増えますが、1回の出荷であり、コンバージョン率はおそらく向上します.
ただし、アプリのバージョンを変更したい場合:
Xcode は、複数のターゲットを適切にサポートしています。
プロジェクト メニューから [新しいターゲット...] を選択します。別の iPhone 実行可能ファイル (Cocoa Touch アプリケーション) を追加すると、ターゲットに含まれるアイテムをリソースごとに指定できます。これには、有料版への特定のコードのコンパイルのみが含まれる場合があります。
[グループとファイル] リスト ヘッダー (上部の左側) を右クリックし、[ターゲット メンバーシップ] を有効にすると、現在のターゲットに含まれているものと含まれていないものに関する視覚的なフィードバックをすばやく取得できます。
シミュレータまたは iPhone のビルドを切り替えるのと同じ方法で、異なるターゲットのビルドを切り替えます。
ビルド時に特定のクラスがどのように動作するかを指定するには、2 つのことを実行できます。それぞれのターゲット用にビルドされた 2 つのバージョンのクラスを含めるか、プリプロセッサのビルド時フラグを設定できます。「グループとファイル」リストでターゲットを選択し、そのターゲットの「情報を取得」します。ビルド タブに移動し、「前処理」を検索します。「プリプロセッサ マクロ」というアイテムがLITE
ライト ターゲットに追加され、同様PAID
に有料ターゲットにも追加されます。
ソースファイルでは、コンパイル時にどのバージョンを使用するためにコンパイルしているかを判断できます#ifdef LITE
。
さらに、#ifdef LITE に基づいてグローバル フラグまたは AppDelegate メンバー変数を設定し、Lite アプリと有料アプリの実行時の動作を変更することもできます。でも、そこに価値があるかどうかはわかりません。