web-dev-qa-db-ja.com

GitHub for iOS(Swift)プロジェクトでAPIキーを非表示にする方法は?

こんにちは私はGitHubでiOS(Swift)パーソナルプロジェクトを公開しようとしていますが、プライベートAPIキーとシークレットをすべての人と共有することを恐れています。

私は解析を使用しているので、AppDelegateに次のようなものがあります。

let applicationId = "mySecretApplicationId"
let clientKey = "mySecretClientKey"
Parse.setApplicationId(applicationId!, clientKey: clientKey!)

「mySecretApplicationId」と「mySecretClientKey」を非表示にしたいのですが、プロジェクト内にこの変数を配置できるプライベートな場所またはディレクトリはありますか?

ありがとう!

24
Manuel Martín

すべての重要なキーを保存する.plistファイルを使用できます。このファイルを.gitignoreファイルに入れることは非常に重要です。

あなたの場合、あなたはあなたのkeys.plistファイルを次のように設定する必要があります: enter image description here

そして、次のようにAppDelegate内で使用します。

    var keys: NSDictionary?

    if let path = NSBundle.mainBundle().pathForResource("Keys", ofType: "plist") {
        keys = NSDictionary(contentsOfFile: path)
    }
    if let dict = keys {
        let applicationId = dict["parseApplicationId"] as? String
        let clientKey = dict["parseClientKey"] as? String

        // Initialize Parse.
        Parse.setApplicationId(applicationId!, clientKey: clientKey!)
    }

Swift 3アップデート:

 if let path = Bundle.main.path(forResource: "Keys", ofType: "plist") {
        keys = NSDictionary(contentsOfFile: path)
    }
33
EnriMR

それらを.gitignoreファイルに追加する構成ファイルに入れます。すべての開発者が独自の構成を作成するために使用できるサンプル構成ファイルをチェックインします。

2
Gregor Raýman