如何在GitHub for iOS(SWIFT)项目中隐藏API密钥?

您好,我正在尝试在GitHub上发布一个iOS(SWIFT)个人项目,但是我害怕与所有人分享私有API密钥和秘密。

我正在使用parsing,所以我有我的AppDelegate这样的事情:

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

我想隐藏“mySecretApplicationId”和“mySecretClientKey”,是否有私人的地方或目录在我的项目,我可以把这个variables?

谢谢!

您可以使用.plist文件存储所有重要的密钥。 把这个文件放到你的.gitignore文件中是非常重要的。

在你的情况下,你需要像这样设置你的keys.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) } 

把它们放到一个configuration文件中,添加到.gitignore文件中。 检入每个开发人员可以用来创build自己的configuration的示例configuration文件。