2014-02-17 55 views
2

我在工作中已经提出了一个非常具体的挑战,我还没有能够拿出一个令人满意的解决方案与我自己的研究,所以我想我会问在这里以防其他人有类似的经历。设置Xcode项目来轻松创建“子应用程序”

基本上,我即将开始编写一个应用程序,作为事件的某种“中心”,用户将能够找到他们感兴趣的事件,选择它并查看关于它的详细信息/在本质上是它自己的“微应用”之间进行互动。
问题是我还需要能够轻松地将这个“微型应用程序”的“模型”(通用UI逻辑,通用资源和程序等),并将它们转变为专用于单个事件的独立应用程序最小的努力(它需要由一些非编码器在一些设置指令的帮助下完成,所以不是通过实际编码来完成,而是“一键完成”)。

我试过使用子项目,特别是有一个子项目构成迷你应用程序被包含在“hub”的项目中,但我无法弄清楚如何在两者之间共享资源。
我试图创建一个简单的测试应用程序,从子项目加载UIViewController,虽然我能够让父母认识到我无法加载资源(即故事板)的标题。

我正在研究使用一个静态库(可能使用Xcode模板来简化非编码器的过程),据我所知它可以让我打包资源,但似乎他们会让开发变得更加困难通过“模糊”库中的内容(特别是如果我想同时在“微应用”和“中心”上工作),所以我想知道是否有更好的方式,我不知道。

当然,我可以制作一个模板,一旦代码完成后,将照顾“易于创建”的角度,但随后我需要每次更改时更新模板。

回答

0

如果我正确地理解了你,Xcode实际上很容易实现。创建您的基本应用程序,并为其他版本添加重复的目标。

如果您需要区分共享代码中的内容,请为每个目标添加一个编译器标志,然后在您的代码中使用#IFDEF进行区分。您还可以根据每个目标创建不同的故事板,或者为每个目标使用相同的故事板。听起来这对你来说不是必要的,但是。

要创建目标,请单击在Xcode项目导航您的项目,然后就在您的现有应用程序的目标单击(了一个与“测试”后缀),然后选择“复制”。从那里,您可以将产品名称更改为适合该“迷你应用程序”的内容。

然后无论任何特定迷你应用程序使用的资产都可以添加到项目中(大概在他们自己的组中),并仅添加到它们适用的目标中。我不确定你的需求究竟是什么,但这将是我为实现这一目标所采取的基本路线。

+0

那么目标会是一个很好的方法呢?现在,我通过一个捆绑了一个捆绑包的静态库成功共享资源。通过将库添加为子项目,我解决了“隐藏”问题,尽管我在后来的开发中对于问题持谨慎态度,但它似乎工作得很好 - 关于这些“迷你应用程序”的事情是它们都是相同的所以它不像我需要能够将新的“零件”添加到集线器应用程序,更像是我需要能够将“小型应用程序”轻松地转移到新的独立项目中,让它像其行事一样当通过“集线器”应用程序使用时 –

+0

哦,如果你需要能够将它移动到一个新的项目,目标绝对不是最好的方式来做到这一点。 – ahruss