2

我有几个使用相同类的 iphone 应用程序。这些应用程序运行良好,但是当我想更改应用程序中的某些内容时遇到问题,假设我想为我的所有应用程序添加一项新功能。为此,我需要在所有项目中进行相同的更改。所以我想创建一个主应用程序,其中将包含应用程序的所有公共资源。每个应用程序都会从​​主应用程序中获取资源,如果它有额外的东西,还会添加更多资源。我可以在这里使用工作区概念吗?我对工作空间或工作空间中的依赖管理了解不多。有人可以在这件事上帮助我吗?请。提前致谢。

4

1 回答 1

2

工作区只是组合在一起的一个或多个项目。人们解决您描述的这类问题的一种方法是创建一个框架或库项目,其中包含您想要在项目之间共享的所有代码。然后,您可以在构建各种应用程序的项目中包含此框架或库。您可能会发现将所有内容放在一个工作区中更容易,或者您可能并不取决于您的应用程序的复杂程度和您的工作风格。选项如下所示:

一切都在一起工作区

  • 共享库 A 项目

  • 共享框架 B 项目

  • 应用 C 项目

  • 应用 D 项目

  • ...

    或者

应用 C 工作区

  • 共享库 A 项目
  • 共享框架 B 项目
  • 应用 C 项目

应用 D 工作区

  • 共享库 A 项目
  • 共享框架 B 项目
  • 应用 D 项目

将所有内容放在一起的主要缺点是它可能会导致很多项目,而您在任何时候都只关心其中的几个。在这种情况下,您可以通过选择 Xcode 工具栏左上角的项目来选择要构建的特定应用程序。

将应用程序分离到单独的工作区的主要缺点是项目一次只能在一个工作区中打开。因此,如果您想同时对 App C 和 App D 进行更改,如果同时打开两个工作区,则会出现错误,因为共享库 A 和共享框架 B 只能同时打开一个。

将事物拆分为逻辑相关的项目确实为您带来了很大的灵活性。另一方面,您必须在每个单独的项目中进行顶级配置更改而付出代价。您可以使用 xcconfig 文件将所有项目的通用配置参数存储在一个位置来解决此问题。Rob Napier 在他关于Using Xcconfig的博客中描述了如何做到这一点。

于 2012-07-24T10:29:23.157 回答