■考察: アプリのIDについて
※アプリは本番用と開発用でパッケージ名を変える方が無難。1端末に両方インストールできるように
※アプリのIDは、アプリ名を初期として自動作成される。例えば「Push-Test1-Dev」というアプリ名で普通に作ると
Android ... net.refirio.pushtest1dev
iOS ... net.refirio.Push-Test1-Dev
のようになる
いったん手動で「pushtest1」というアプリ名を付け、
net.refirio.pushtest1
のパッケージ名で作成してから
net.refirio.pushtest1
net.refirio.pushtest1.stg
net.refirio.pushtest1.dev
に切り替えられるように同プロジェクト内で最初に設定しておくといい
(本番と開発でソースコードが別々になるのは、大変すぎるので避ける)
※切り替える仕組みはXcodeならSchemeを、AndroidStudioならFlavorを使うといい
可能ならiOSとAndroidの両方で統一したパッケージ名を使えるように調整するといい
が、例えば net.refirio.android.pushtest1 と net.refirio.ios.pushtest1 などのように付けるのも一つの手段
詳細は AndroidStudio.txt と Xcode.txt の「製品用、開発用などの切り分け」を参照
以下、専用の仕組みがないか調べたときのメモ
iPhoneアプリ開発でデバッグ版とリリース版をきれいに同居させる - しめ鯖日記
http://www.cl9.info/entry/2015/07/29/010020
iOS開発で環境ごとにアイコンやアプリ名、コード等を切り分けるオレオレプラクティス - Qiita
https://qiita.com/KazaKago/items/2835d76ced43f913c31d
以下は Bundle ID を変更しているが、記事が古いのでSchemeでの変更ができなかったときの話かも
iPhoneアプリ開発でBundle IDを書き分けてビルドする方法 | SONICMOOV LAB
https://lab.sonicmoov.com/development/iphone-app-dev/build-change-bundle-id/
Android Studio でも変更できなくは無いみたいだが、
「本番用と開発版を切り替える」というより「パッケージ名を別のものに変更したい」という場合の対応みたい
【AndroidStudio】パッケージ名を変更する方法 - Qiita
https://qiita.com/n-yusa/items/413c8a131ebc451e80f8
※「Push-Test1」などの名前はすべて「Push-Test1-Dev」のようにしておく方がいいかも
プッシュの証明書なども開発用と本番用が必要のため