从单个 Xcode 项目高效构建两个版本的 Iphone 应用程序?

发布于 2024-08-24 17:15:16 字数 196 浏览 7 评论 0原文

我想制作我的应用程序的付费和免费版本。我想要构建一些东西,以便我可以用尽可能少的更改来构建一个版本或另一个版本。就源代码而言,这可以通过在某处使用 BOOL 常量 isFreeVersion 并根据需要引用它来轻松完成。

但我应该如何设置其他一切呢?显然,App ID 必须更改,而这又需要更改 XCode 中的一些构建设置。将其保持在最低限度的最佳方法是什么?

I want to make paid and free versions of my app. I want to structure things so that I can build one version or the other with as few changes as possible. As far as the source code is concerned, this is easily accomplished by having a BOOL constant isFreeVersion somewhere, and referring to it as needed.

But how should I set everything else up? Obviously the App ID will have to change, and this will in turn entail changing some build settings in XCode. What is the best way to keep that to a minimum?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

メ斷腸人バ 2024-08-31 17:15:16

您可以使用预处理器标志(在 Xcode 构建设置中)在两者之间切换。可以使用简单的预处理器指令(例如#if IS_FREE_VERSION ... #endif)以类似于 if 语句的方式在源代码中使用该标志。这将帮助您避免构建脚本。

这种方法的缺点是,默认情况下,每次构建时,最后的构建产品都会被覆盖。

You could use a preprocessor flag (in your Xcode build settings) to switch between the two. The flag can be used across your source code using simple preprocessor directives (e.g. #if IS_FREE_VERSION ... #endif) in a manner similar to an if statement. This will help you avoid build scripts.

The disadvantage of this approach is that by default each time you build, the last build product gets overwritten.

┈┾☆殇 2024-08-31 17:15:16

就一般版本控制而言,我不推荐 使用分支除非构建两个版本的影响意味着两组源代码之间发生重要的代码更改。

如果您只能拥有一组源(使用 BOOL 常量),则意味着其余部分必须通过构建脚本进行管理,该脚本将:

  • 采用一个参数来了解是否必须构建免费版本或者可执行文件的付费版本(没有参数意味着它同时构建两者)
  • 使用一种或另一种 XCode 构建设置,具体取决于它必须构建的版本。

In term of version control in general, I wouldn't recommend using branches unless the impact of building two versions means important code changes between the two set of sources.

If you can have only one set of sources (with your BOOL constants), that means the rest must be managed through building script, which would:

  • take a parameter to know if it has to build the free version or the paid version of the executable (no parameter means it builds both)
  • use one XCode build setting or another, depending on the version it has to build.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文