如何在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文件。
- 如何在Xcode 7和Swift 2中创build一个圆angular矩形标签
- Swift MultipeerConnectivity崩溃DateComponents unconditionallyBridgeFromObjectiveC
- didUpdateHeading标题从未在iOS 11下调用过
- 在Swift中检测UIImageView触摸
- 自定义UItableViewCell不加载图像? 斯威夫特4
- 添加Swift文件来testing目标没有修复unit testing
- 在swift中以编程方式从联系人书中删除特定时间的联系人
- Swift – 如何将标签栏和导航栏添加到单个视图控制器?
- 如何在Swift中为NSLayoutConstraint设置animation?