Как скрыть ключи 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
файл, где вы храните все ваши важные ключи. Очень важно поместить этот файл в код .
в вашем случае вам нужно установить свой такой:
и используйте его внутри вашего 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)
}
поместите их в файл конфигурации, который вы добавляете в . Проверьте пример файла конфигурации, который каждый разработчик может использовать для создания собственной конфигурации.