リリース済のアプリを開発する際、AppStoreから入れたアプリを上書きしてしまう問題の解決策です。
普段使いしているアプリの場合、開発用で上書きされるのは少しめんどくさいです。
今回はその回避策を書いてみます。
debugビルドとreleaseビルドでbundle idを変える
まずはAppStoreから入れたアプリを上書きしないようにします。
最初にBuildSettingsでユーザー定義変数を追加します。
User-Defined
に行が追加されるのでそこのデバッグにだけ接尾辞を追加します。
最後にInfo.plist
のBundleIDで今追加した値を参照するようにすれば完了です。
これで開発中はリリース済アプリを上書きしなくなります。
デバッグとリリースでアプリ名も変えてみる
これで2つを共存する事ができたのですが、そうするとどっちがデバッグ版かが分かりにくくなります。
分かりやすくする為に、アプリ名も変えてみます。
アプリ名も同じように値の定義とInfo.plist
の修正をします。
これでこのように共存させる事ができました。
アイコンもデバッグとリリースで分けてみる
更に視認性が高まるようにアイコンも変えてみます。
アイコンは出し分けが難しく見えますが、実は環境毎に分ける事ができます。
上の設定を見ると一見分けれないようですが、実はBuild Settings
から設定すれば出し分けできます。
下のようにアプリを分ける事ができました。
課金テスト用の環境を作る
これで開発版とリリース版の環境を分けれました。
しかしデバッグ時に本番用BundleIDを使いたい時に手動で設定変更する必要があって少し不便です。(課金のテストとか)
そういった時は環境を一つ追加するとスムーズです。
まずは下のように環境を一つ増やします。
そして下のようにPayment
では本番用BundleIDを使うようにします。
ついでに名前も変えると分かりやすいかと思います。
最後にPayment
で実行できるScheme
を作ります。
下画面からNew Scheme
を選択します。
そしてそのScheme
のデバッグビルド時にPayment
を見るようにすれば設定完了です。
これで課金用の実行環境を作る事ができました。