【问题标题】:How to exclude files within my project from our release build?如何从我们的发布版本中排除我的项目中的文件?
【发布时间】:2016-02-27 04:06:06
【问题描述】:

我们有一个项目,用于分析用户日历中的重要电话号码和访问代码。为了测试我们的解析器,我们在测试文件夹中有真实的用户日历来解析并与一组硬编码的正确结果进行比较。

出于法律和隐私原因,这些日历文件不能包含在我们的最终版本中。如何停止在我们的发布版本中发布日历文件?

【问题讨论】:

  • 使用两种方案?跟 Git 有什么关系?
  • 它与 git 有关,因为当某个开发人员决定将项目公开时,您和我都可以使用所有之前提交的所有敏感用户数据。
  • 创建一个文件夹,在其中添加您的示例日历文件。拖放并将其添加到您的项目中。在从 Xcode 项目中释放删除文件夹引用之前。我不明白,为什么这么混乱?
  • @SamB 这是一个敏捷项目,我们将在项目过程中多次发布它。如果我们每次都手动删除它,我们很容易忘记它,并且必须依赖处理此代码的未来团队来做同样的事情。
  • @Deco 我曾与许多大型软件部署合作过,几乎每家公司都有一个他们遵循的“构建”文档。就像一个人按照分步说明打包发布一样,不会遗漏任何步骤。你并没有真正通过记忆来做大型软件团队的打包工作。

标签: ios xcode git privacy


【解决方案1】:

需要考虑的几件事:

  • 替换真实的私人数据。真的。绝对没有理由 在您的源、存储库或二进制文件中拥有个人数据。 曾经。你不知道将来谁来处理代码,或者 您的代码将在哪里,或者用户稍后会怎么想。

  • 测试解析似乎更适合单元测试, 有自己的目标,所以(模拟)数据不会在 应用程序。

  • 构建一个系统以将数据导入您的应用程序。那可能是 反正很方便。

您可以通过选择右侧 Xcode 的“实用程序”区域中的“目标成员资格”来选择哪些文件进入哪个目标。只需选择有问题的文件并选择与测试相关的适当目标。

【讨论】:

  • 目前是单元测试。这是否意味着它不会出现在二进制文件中?
  • 替换数据将非常耗时,而且不是一个现实的测试,我们有数百个日历条目,我想将其扩展到数千个,将正确的结果硬编码到一个手工数组已经使测试变得相当麻烦。将数据导入应用程序可以工作,但我们没有后端,希望保持这种方式。除了在我们的测试旁边的测试文件夹中之外,我想不出任何一致的方式来访问它。
  • 我认为我们应该删除数据,但除了放弃测试或将其保留在一台机器上之外,我不知道该怎么做。它还会影响我们的单元测试覆盖率。
  • 对于每个文件,您可以选择它包含在哪些目标中 - 使您的测试数据仅在您的应用程序中可用,而不是在单元测试中可用。
  • 我该怎么做?这几乎就是我想要完成的目标。
猜你喜欢
  • 2010-10-12
  • 2010-09-10
  • 2017-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-18
相关资源
最近更新 更多