1

我正在开发一个可以编辑图像的 iPhone 应用程序。最终,我想要一个允许用户简单地编辑他们的图像的小版本,以及一个允许图像社交网络的大版本。然后我想为 iPad 开发一个版本。

由于这是我第一次涉足商业移动开发,我对如何在 Xcode 中组织所有这些版本感到困惑。显然,每个版本之间都会共享文件重用。我想我的问题是,如何以最有效的方式组织这些单独的项目,以便它们共享文件,因此当我编辑共享的特定文件时,会对应用程序的每个版本进行更改?XCode 中是否有某种结构可以遵循?

是否有关于如何进行此操作的链接或文献?(不确定搜索它的正确术语)。

4

3 回答 3

1

我建议将“精简”和“完整”项目分开但在同一个工作区中。这样,您可以将共享文件保存在一个项目中,而只需在另一个项目中使用对它们的共享引用。从任一项目对共享文件所做的所有更改都会影响两者。

至于 iPhone/iPad 版本,我还建议您将这些应用程序完全分开,但也要在同一个工作区中(以便它们可以共享代码)。如果您查看在单个项目(又名通用应用程序)中管理两个应用程序的建议,唯一真正的好处是客户可以购买一个应用程序并可以在任一设备上下载它,如果不是这样,有些人可能会感到不安可供他们使用。如果您的应用程序是免费的,请不要担心。

最后,关于工作区的警告,您需要在所有项目中唯一地命名您的文件。例如,如果您正在处理一个使用 MainViewController.h 子类的项目和另一个使用 MainViewController.h 子类的项目,则无论您在哪个项目中,都可能意外分配或编辑错误的项目,所以要小心. 如果使用唯一文件名是个问题,您可以绕过使用工作区,只需创建一个空项目将所有共享代码转储到其中,然后从那里添加对独立应用程序的引用。

于 2012-11-07T20:58:30.347 回答
1

记住:如果你发现自己重复/重复某件事,怀疑你做错了。

在这种情况下,您的 Xcode 项目将有 4 个目标。此设置的基本目标布局如下所示:

  • 静态库(用于您的共享源文件)
  • 资源包(用于您的共享资源)
  • 完整应用(通用)
  • App-Lite(通用)

应用程序链接到共享静态库,并复制资源包。

自然,应用程序将具有不同的源/库/依赖项 - 那些进入应用程序目标(或其他一些依赖项)。

鉴于您的背景:计划花费大量时间(最初和您进行时)和耐心来弄清楚应该如何组合、使用和维护这些依赖项。

于 2012-11-07T21:14:50.637 回答
0

如果您选择为不同的功能保留项目的各种副本,最终会令人困惑,因为在某些地方 XCode 为您提供一件事而不是另一件事。一个这样的地方是 - 当您从位置 X 打开一个项目时,它还会显示您上次打开后从位置 Y 的副本。结果,你可能会犯更多的错误。组织者是您可能犯错误的另一个地方。

XCode 是独立的,足以维护 iPhone 和 iPad 版本。如果您选择通用作为应用程序类型,您将拥有两个独立的故事板,它们可以成为一个项目的一部分。

至于各种功能,您不应该维护项目的单独副本。相反,推荐的方法是将所有功能保留在单个项目中,并让应用程序逻辑提供对各种功能的访问。

当您单击项目时,XCode 会在 Targets 部分下保留您的构建版本。要在您的开发周期中维护多个版本,请使用源代码存储库(git 或 svn)。

于 2012-11-07T20:29:58.147 回答