2016年2月6日土曜日

アカウント名等の入ったソースをGitHubにアップしないようにする工夫

アカウント名などをベタ書きで指定している場合に、誤ってGitHubにその部分のソースを公開しないようにするための工夫。

→Parameters.swiftのようなクラスを作って、そのソースだけを.gitignoreで管理対象外にしています。これだとリモートリボジトリ上のソースだけではビルドが通らないのですが、うっかり公開してしまう恐れは減ります。

Parameters.swiftで

class Parameter: NSObject {
    static var sharedManager: Parameter = {
        return Parameter()
    }()
    private override init() {

    }
    let username = "user123"
}

のようにしておいて、

使いたい場所で、
let string = Parameter.sharedManager.username
のようにして取り出します。


terminalを開いて
$ touch .gitignore
$ vim .gitignore
i
Parameters.swift
[esc]
: wq
とすると、コミットを作るときにParameters.swiftを選択できなくなっています。

ファイルとして見えないのであれ?作れたのかな?と不安になりますが、vimで開いて保存されていれば実体としては保存できていると納得できますね。

Parameters.swiftだけを共同作業者に共有してプロジェクトに追加してもらえば、通常どおりビルドできるという流れになります。

最終的にはKeychainで管理することになるかと思いますが、デバッグ中はベタ書きで済ますことが多いと思うので、簡易手段としてこんなやり方をしています。

Parameterの中でKeychainの取得操作を行うようにアップデートすることで、後で文字列をセットする部分を書き直ししなくてよいというメリットもありますね。

0 件のコメント:

コメントを投稿