iOSアプリの2つのバージョンを提供したいと思います。有料と無料の広告付きです。私の目標は、コードベースを同じに保ち、ビルドするバージョンを示すフラグのみを変更することです。
ここで説明するように、この分離をサポートするために、アプリ用に2つのビルドターゲットを用意しました。これらのターゲットはバンドルIDが異なります。
ここで、指定されたバンドルIDに基づいてフラグを変更したいと思います。メインバンドル識別子を読み取ろうとしましたが、完全に機能しました。そして、ここから私の質問が始まります。
無料アプリをダウンロードした後にメインバンドルIDを変更して、有料版への不正アクセスを取得することはできますか?私はここ、ここ、そしてここでそうではないことを発見しました。
しかし...脱獄した電話はどうですか?私はいくつかのコメントを読みました、そうです。
もしそうなら、どうすればアプリを保護できますか?
のようなプリプロセッサディレクティブを定義することも考えてい#define FREE_APP
ました。それから私はチェックします:
#ifdef FREE_APP
//show ads
#endif
ただし、このソリューションは、ビルドを選択するだけでは完全に自動化することはできません。この値を手動で変更する必要があるため、最適ではありません。提案に感謝します。