安全维护配置的最佳方法

时间:2018-09-01 22:37:38

标签: ios plist

概述:

我有一个 iOS 项目,该项目在 Plist 中包含服务器配置。我对不同的目标(开发/阶段等)有不同的看法

问题:

此plist被复制到主捆绑包中,因此我觉得它不那么安全,无法从ipa文件中获取它。我希望它不可访问。

问题:

  • 维护不同目标服务器配置的最佳方法是什么?
  • 是否可以使用plists,如何使其无法通过ipa文件访问而仍可通过代码读取?
  • 是否有更好的方法来解决此问题?

1 个答案:

答案 0 :(得分:2)

您可以通过对配置进行硬编码来避免使用plists。这样,它将被编译到应用程序中,并且无法通过ipa文件轻松访问。它并不完全安全,但是比plist难以访问。

创建文件MyConfigDev.swift

// this file is added to the Dev target
class Config {
    private init() {}
    static let shared = Config()
    let myParam = "valueForDev"
}

另一个文件MyConfigStaging.swift

// this file is added to the Staging target
class Config {
    private init() {}
    static let shared = Config()
    let myParam = "valueForStaging"
}

如果构建Dev目标,则使用文件MyConfigDev.swift,如果构建Staging目标,则使用文件MyConfigStaging.swift

在您的代码中,您可以访问配置:

let p = Config.shared.myParam

要访问您的配置,黑客现在需要反编译您的ipa。