プロジェクトから環境に関する設定値を切り出して管理するCocoaPodsのプラグイン
センシティブな情報(API Key等)を外部に切り離すサンプル
gem install cocoapods-keys
ここで 3. PodFile
のPodFileを追加すればcocoapods-keysが使える状態となる。
その場合は切り出した設定値はKeychainに保存される。
チームではなく一人で開発するのであれば、それでもOK。
.env
ファイルをプロジェクトのルートに配置する。- 追加したい
key
とvalue
を記載する。
Secretkey="secretValue"
PrivateKey="privateValue"
.env
を.gitignore
に追加する- 誤ってGit管理に追加してしまう等、センシティブな情報を公開してしまうリスクがあるため
# cocoapods-keys
.env
:project =>
にはプロジェクト名を記載する。:keys =>
に.env
と同じkey
を記載する。
plugin 'cocoapods-keys', {
:project => "ios-cocoapods-keys-demo",
:keys => [
"Secretkey",
"PrivateKey"
]}
.env
がプロジェクトのルートにない状態でpod install
しない- Keychainに値を保存しようとしてしまうため
pod install
// 登録したkeyの一覧を表示する(Valueは非表示)
pod keys
ワークスペース内の Pods/Development Pods/Keys/
にKeys関連のディレクトリ・ファイルが生成されるので、そちらを確認してもOK。
- 別途
.env
を共有して、各自プロジェクトのルートに配置してもらう。 - その他手順は上記と同様。
import Keys
// Keysインスタンス生成
let keys = Keys()
// 設定値を取得する
let secretValue = keys.secretkey
let privateValue = keys.privateKey