Как скрыть ключи API в проектах GitHub для iOS (SWIFT)?

Привет я пытаюсь опубликовать личный проект iOS (SWIFT) в GitHub, но я боюсь поделиться своими личными ключами API и секретами со всеми.

Я использую parse, поэтому у меня в моем AppDelegate что-то вроде этого:

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

Я хотел бы скрыть "mySecretApplicationId" и "mySecretClientKey", есть ли личное место или каталог в моем проекте, где я могу поместить эти переменные?

спасибо!

2 ответов


можно использовать .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)
    }

поместите их в файл конфигурации, который вы добавляете в . Проверьте пример файла конфигурации, который каждый разработчик может использовать для создания собственной конфигурации.