build-process - 一个 Xcode 4 项目,四个目标 "Variations"......

标签 build-process xcode4 target xcodebuild

我偷偷地怀疑我想要做的事情可以在 Xcode 4 中更优雅地完成……但我以前错了。这是独家新闻:

我有一个 iOS 应用程序,其中包含通常的调试/发布版本和常规、单元测试和 ui 测试目标。那里没有什么异常。该应用程序还会调用服务器。那里也没什么特别的。除了 ...

现在我希望能够为四种不同的服务器环境构建应用程序:开发、QA、UAT/Beta 和生产。此外,对于开发人员构建或临时分发,每个构建必须能够在同一设备上共存。

那么让我们看看......这会如何发展?每个应用程序都需要自己的目标标识符以供初学者使用。也许检测构建类型可以帮助定位要使用的服务器:

调试构建目标开发。
(Ad Hoc Distribution) Release 构建目标 QA(... 或 UAT/Beta?)。
(App Store Distribution)发布构建目标生产。

至于那些目标标识符 (com.companyname.appname),我想我可以为每个构建使用不同的 Info.plist 文件......但这闻起来很笨拙(重复信息)。也许这是唯一的方法?

底线:我不确定 a) 如何解决 Ad Hoc 与 App Store 分发案例,以及 b) QA/UAT 案例,以及 c) 如何在不搞乱(至少对我来说)更优雅的设置 Xcode 4 提供了那些简单的“按播放”调试/发布构建操作。

也许我必须添加新的方案?也许这只是添加更多 Info.plist 文件...或构建...或配置...或目标...或一些混合的问题。同样,如果我能帮上忙,我会尽量避免复制大量信息(仅更改一两个设置)。调试/发布看起来很干净,我想确保我沿着正确的轴改变了事情。正如他们所说,测量两次,切一次。

线索欢迎/赞赏!

最佳答案

这就是我最终要做的。希望这是最明智的方法:

  • 现在,我结合了 QA 和 UAT。 (这可能会在以后拆分。)
  • 我制作了三个 Info plist,一个用于开发(调试)、Beta/QA/UAT(发布)和生产(发布)。其中每一个都有稍微不同的包显示名称、包标识符和包名称,但在其他方面是相同的。 (这是重复信息的最大份额。必须在所有三个方面进行更改 - 例如,如果我添加新字体或 URL 类型。)
  • 我创建了一个新配置 Beta(基于原始发布/生产配置),所以现在还有 Dev、Beta 和生产配置。
  • 在 Provisioning Portal 中,我使用之前声明的 bundle ID 设置了 App ID,并为 Beta、Dev 和 Production 生成了新证书。 (现有的应用程序 ID 最终用于 App Store 版本。)
  • 在build设置中,我使用条件设置来指定适当的信息 plist 和代码签名标识。

  • 我认为这会奏效!但是,如果有更清洁的方法,请权衡一下。谢谢!

    关于build-process - 一个 Xcode 4 项目,四个目标 "Variations"......,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5393631/

    相关文章:

    visual-studio - 如何让 Microsoft C++ 编译器将未知标志视为错误而不是警告?

    java - 在 Eclipse 工作区中看不到 Ant Builder 生成的 Jar

    cocoa - 在 Xcode 4 中添加 Sparkle 框架

    javascript - onClick 事件只留下 DOM 数组的最后一项而不是移除目标

    java - Maven 查找错误 'high water mark'

    visual-studio - 将 Visual Studio 项目构建到公共(public)目录而不是 bin?

    xcode4 - 您在Xcode 4的哪里看到 "#pragma mark"的结果?

    iphone - 使用 SVN 时如何解决 xcode 4 中的冲突?

    iphone:使用具有不同构建目标的不同图标?

    c - GNU 使 : different dependencies of several binaries in the same target?