gpt4 book ai didi

ios - 如何在 iOS 上使凭据不受源代码控制

转载 作者:行者123 更新时间:2023-11-29 03:06:54 24 4
gpt4 key购买 nike

我的 iOS 应用程序需要凭据才能连接到多个 API。由于该项目是开源的,因此我不想将凭据 checkin 源代码存储库 (git)。

最终,我希望能够在我的应用程序代码中执行类似的操作:

googleMapsApiKey = [AppCredentials googleMapsApiKey];

其中 AppCredentials 使用不受源代码控制的配置文件进行初始化。

过去,我一直使用 Python 或 Ruby 等动态语言,并得到 solutions like this one使凭据不受源代码控制。方法是这样的:

  1. 有一个公共(public) API,它在运行时解析包含您所有凭据的文件。
  2. 包含所有密码的配置文件在带外传输(例如在电子邮件中加密)。
  3. 分发示例凭据文件作为其他开发人员的模板

但是,我不知道如何在 iOS 上应用这种方法。我不能只将“passwords.json”文件放在源根目录中并在应用程序初始化时对其进行解析。我不能在应用程序包中添加一些东西,因为该包也已 checkin 版本控制。

请注意,不会阻止恶意人员从已编译的应用中提取凭据。我现在不打算解决这个问题。带着这个问题,我只对将凭据保留在源代码之外感兴趣。

最佳答案

这实际上是一个 SVC 问题,从这个角度来看,您只想将配置添加到单个文件并让 SVC 忽略该文件。

通常,我会在“自述”文件中添加需要在项目生效之前在指定位置创建此配置文件。

然后,将文件添加到项目中并为其指定目标成员身份(以便在构建时将其复制到 bundle 中)。现在,在代码中,您可以使用如下内容:

[[NSBundle mainBundle] pathForResource:@"accountConfig" ofType:@"plist"];

获取要加载的文件的路径。

关于ios - 如何在 iOS 上使凭据不受源代码控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22671784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com