すでに公開済みの有料版「こどもブラウザー」の無料版をリリースしたときに対応した手順のメモです
有料版のプロジェクトがすでにあることが前提です
既存のターゲットを複製する
すでにある有料版のターゲット右クリックして「Duplicate(複製)」を選びます
複製した後は「〜Copy」となっているので、好きな名前に変更します
今回は「RubyBrawserFree」にしました
複製して作成したターゲットのBundle Identifierを有料版とは異なるものに設定します
フラグを追加する
複製した方のターゲットの
「Build Settings」の「Swift Compiler – Custom Flags」の「Other Swift Flags」にフラグを追加します
今回は
-D FREE_VER
を追加しました
頭の「-D」がないとエラーになります
有料版と無料版で異なる部分を修正する
Swiftはこのようのな記述で分岐できます
#if FREE_VER // 無料版の処理 #else // 有料版の処理 #endif
ActionExtensionがあればそちらも複製する
ActionExtensionはBundle Identifierが親となるアプリと同じプレフィックスを持つ必要があるので、こちらも複製してBundle Identifierを無料版のものをプレフィックスにしたものに変更します
親となるアプリの「General」の「Embedded Binaries」に今回複製したターゲットの方を追加します。違う方は削除します
有料版と無料版で動作が異なるようにする場合は、前述と同じように「Other Swift Flags」にフラグを追加して、プログラムを分岐させればいいと思います
info.plistを有料版と共有
ターゲットをコピーするとinfo.plistもコピーされ、コピーの方が利用されるようになります。今回は有料版と無料版で同じinfo.plistを使用したいので、コピーされた方を削除して設定を変更します
有料版と同じinfo.plistを設定
ActionExtensionも同様
アイコンを変える
無料版のアイコンを変えたい場合は、アイコンセットをもう1つ作って・・・
そちらを利用するように設定を変更すればOKです
以上です