swift3で新規アプリを作ることになったので備忘録です。
他の備忘録
- StoryBoardを使わないでプロジェクト作成(Xcode8,Swift3)
- アプリ開発でdebug/staging/release環境があるならbundleは3種類あったほうが捗る
- Staging用の環境設定をXcodeに追加する
- 設定画面をコードだけで書く時いつも悩む
たぶん捗る
アプリ開発でdebug/staging/release環境があるならbundleは3種類あったほうが捗ります。プッシュ配信や、iPhone内で本番と開発をわけられるからです。
やりたいこと
- iPhone内で各環境、別々のアプリとして扱いたい
- 各環境で別々にプッシュ通知を送りたい
準備
- Staging用の環境設定をXcodeに追加する
- iOS DeveloperでAppIdとプロビジョニングファイル、プッシュ証明書を作成する。
以下は作成サンプル。適宜つくるといい。
debug環境は実機で動かせるだけでよいので、developmentのプロビジョニングファイルしか作成しない。staging環境のプッシュはadhocで配布したものを対象にしているのでproductionのみ作成する。debug環境のプッシュはdebug実行しながら受け取りたい場合は作るといい。
Debug | Staging | release | |
---|---|---|---|
AppId | hoge_debug | hoge_stg | hoge |
プロビジョニング(dev) | ○ | ☓ | ☓ |
プロビジョニング(dist) | ☓ | ○ | ○ |
プッシュ(dev) | ○ | ☓ | ☓ |
プッシュ(pro) | ☓ | ○ | ○ |
Xcodeの設定
- Target>General>SigningのAutomatically manage signingのチェックを外す
運用
- 開発中はbundleをdebugにして開発する
- adhocしたくなったら、bundleをstagingにする。Archiveする際、普通にやったらreleaseのreleaseのプロビジョニングが使用されてしまうので、Edit Scheme>Archive>Build Configurationで、Stagingを選択する