【发布时间】:2016-10-26 04:24:23
【问题描述】:
我对 Xcode 中的目标概念非常陌生。我已经按照这个tutorial 学习在同一个项目中创建两个目标。我只想知道如何让目标 A 使用 AppDelegateA.swift 作为其指定的应用程序代理,目标 B 使用 AppDelegateB.swift 作为其指定的应用程序代理。因为在教程中,它实际上教了如何从同一个 AppDelegate 制作两个应用程序。但我制作了两个(几乎)完全不同的应用程序,它们共享大量资源和库。
当我们讨论这个主题时,我是否也可以让目标 A 使用名为 Main 的故事板,而目标 B 也使用名为 Main 的故事板,但它们实际上是不同的故事板(但放在一起同一个项目)?
【问题讨论】:
-
我很好奇,你为什么要这个?
-
@AlexanderMomchliov 因为我想让代码尽可能分开,如果它们是分开的(在我的逻辑中)。在我看来,AppDelegate 是应用程序的“入口点”,因此也应该将实际上是一个非常不同的应用程序(但共享大量库和资源)的目标分开。这样我就可以将每个目标组织在他们自己的文件夹中,包括 AppDelegate,并且可以将它们快速复制到不同的项目中。
-
如果您有两个非常不同的应用程序,那么它们应该是两个不同的项目。他们的共享代码应该被提取到第三个库项目中,从前两个中引用。
-
@AlexanderMomchliov 我认为您指的是依赖关系。我已经阅读了关于依赖项目的简介,我认为它本身就是一个完全不同的野兽,我需要在不同的时间慢慢消化。现在我只是试图探索我可以从目标获得哪些选项,什么是可能的,什么不是。但是我非常感谢您的建议,并且在我对当前主题有了更多了解之后,当我了解目标依赖关系时,我会牢记这一点。非常感谢。 :)
-
您可以在 Xcode 中为每个单独的目标设置嵌入文件,您不需要硬编码任何东西,您只需将正确的
AppDelegate.swift文件附加到 下的所需目标File Inspector / Target Membership 面板;我不会采用答案中的解决方案,那是一种可怕的解决方案,可能是许多错误或问题的根源。
标签: ios target appdelegate