Xcode 我应该使用一个项目和多个目标吗?

Xcode 我应该使用一个项目和多个目标吗?,xcode,project,target,Xcode,Project,Target,我正在构建几个不同的视频扑克应用程序。一个应用程序是Jacks或更高版本的视频扑克。其他包括平分野生,皇家王牌,10的或更好的,等等。我已经建立了一个皇家王牌版本,现在我想做一个10的或更好的版本。我应该使用我的皇家Aces项目并为其他扑克版本设定不同的目标吗?因为我将重用95%的代码,所以我需要一种简单的方法来实现这一点 如果我应该为每种类型的视频扑克应用程序使用不同的目标,我假设每个目标都可以有自己的:捆绑ID、应用程序名称等。这样,我可以分别存档每个视频扑克目标,并将其作为单独的二进制文件

我正在构建几个不同的视频扑克应用程序。一个应用程序是Jacks或更高版本的视频扑克。其他包括平分野生,皇家王牌,10的或更好的,等等。我已经建立了一个皇家王牌版本,现在我想做一个10的或更好的版本。我应该使用我的皇家Aces项目并为其他扑克版本设定不同的目标吗?因为我将重用95%的代码,所以我需要一种简单的方法来实现这一点

如果我应该为每种类型的视频扑克应用程序使用不同的目标,我假设每个目标都可以有自己的:捆绑ID、应用程序名称等。这样,我可以分别存档每个视频扑克目标,并将其作为单独的二进制文件上传


我是否正确理解如何使用不同的目标?这是完成任务的正确方法和最有效的方法吗

首先要注意的是,苹果确实不喜欢有多个版本的基本相同的应用程序,他们可能会在一段时间后拒绝你的应用程序(一旦你开始这样做,这可能会非常令人沮丧)。如果你将游戏差异捆绑成数据(而不是代码),并将其作为应用程序内购买而不是单个应用程序进行销售(或者将重点放在广告收入上,并将游戏数量作为区分因素而不是销售收入),你可能会有更顺利的进展

也就是说,这是你的应用程序,所以让我们回到问题上来

多个目标是很好的,并且对于这种设置非常方便。不过,有些事情你会想做:

  • 首先,我强烈建议使用一个共享的xcconfig文件,这样您就不必在项目之间重复构建设置。见:
    • 我有一个比较老的(有些过时的)教程:
  • 您可能希望将共享代码构建到静态库中,并将其链接到特定于应用程序的代码中。当您构建所有包时,这将为您节省大量编译时间,特别是在有许多包的情况下
  • 我会在早期考虑很多关于核心的可测试性。每次你做出改变时都要测试游戏的每一个版本是一件非常痛苦的事情。共享代码的自动化测试是一个巨大的胜利

    • 我对此有要求

      这是我想到的。 拥有静态库中的所有逻辑和捆绑包中的所有公共资源,包括故事板

      然后让你的目标取决于这些目标

      这是

      我是怎么做到的

      为什么不同的变体需要成为全新的应用程序?为什么不在一个选项页面上,让你选择并将其全部放在同一个应用程序中呢?我最终将发布“终极视频扑克”,作为一个应用程序,它将具有可用于在游戏之间切换的选项。同时,我想把每一款游戏都作为自己的应用程序发布。