10

Xcode を使用して (iOS で開発する) 最初のプロジェクトと同じであるが、一部のクラスが異なる 2 番目のプロジェクトを作成したいと考えています。

まさに、私は iPhone アプリを作成していて、無料版とプレミアム版を提供したいと考えています。実際、プロジェクトのコードは同じですが、いくつかのクラスが変更されています。

問題は、2 つのプロジェクトをサポートしたくないということです。クラスを変更すると、他のプロジェクトでも同じ変更を変更する必要があります。非常に冗長です。

さらに、プロジェクトはリモート GIT リポジトリにプッシュされます。

最後に、iOS アプリは、プロジェクトに関連付けられた ID を使用して識別されます。

では、2 つの異なるプロジェクトが必要ですか?

クラスを共有する Xcode で 2 つの iOS アプリ プロジェクトを作成し、2 つまたは 3 つのクラスを変更するための最良のソリューションはどれですか?

ありがとう

4

3 に答える 3

19

無料版とプレミアム版を提供したい。

この場合、2 つのプロジェクトで 2 つのアプリを作成する必要はありません。必要なのは、プレミアム バージョンの 2 つ目のターゲットだけです。Xcode で複数のターゲットを作成および管理する方法を説明するリンクを次に示します。

このプロセスは、プロジェクトにターゲットを追加し、そのターゲットの個別のプロパティ plist を定義し、必要に応じて条件付きコンパイル用のプリプロセッサ シンボルを設定し、そのシンボルを#ifdef無料バージョンでは必要のないクラスの部分に使用することに要約されます。

無料版とプレミアム版を管理するもう 1 つの一般的な方法は、1 つのバージョンを無料で提供し、ユーザーがアプリ内購入を通じてそれをプレミアム版にアップグレードできるようにすることです。

于 2013-04-15T16:12:09.990 に答える
0
  1. 有料版のターゲットを複製し、無料版と名付けます

  2. PaidApp=1有料ターゲットでマクロ名を定義し、このコード行を applicationDidfinishLaunching の先頭に配置します。

    #ifdef PaidApp
    [[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"adDisabled"];
    #endif
    
  3. 無料アプリ実行中の場合、誰かが有料アプリ機能を購入した場合、@"adDisabled" の値を 1 に設定します (@"adDisabled" のデフォルト値は 0 になります)

于 2016-12-29T12:18:12.637 に答える