TestFlight使用哪种配置模式?

9
我正在设置我的iOS和API(后端)的生产、暂存和开发堆栈/配置模式。
我认为“发布”模式肯定是应用程序在应用商店上公开销售时使用的。我想知道在iOS应用程序分发到TestFlight时将使用哪种配置模式?
我了解到方案是确定使用哪种配置模式的因素。当我上传.ipa文件到TestFlight时,会使用“存档”方案。
因此,现在我想知道是否有一种方法可以在TestFlight上和发布的应用程序之间使用不同的配置。
我试图解决的问题是:我们使用TestFight向外部测试人员和股东分发应用程序。因此,希望该应用程序具有不同的配置(例如SERVER_ENDPOINT_URL)。
谢谢!

TestFlight不使用配置。您的方案使用配置。如果您想知道使用了哪个配置,请查看执行构建操作时使用的方案。对于TestFlight构建,您可能使用了Archive,并且Archive可能使用Release。但是为什么不直接查看并确认呢? - matt
谢谢,实际上我并没有完全理解方案和配置之间的关系。不过感谢您的解释。我已经编辑了我的答案。如果您有任何其他想法,那就太好了。 - Prakash Raman
好的,但这甚至更没有意义。您上传的是一个构建版本。它与您归档的内容完全相同。您无法更改配置;构建已经完成,即当您进行归档时。 - matt
我明白。据我所知,分发可执行文件的唯一简便方法是通过TestFlight。那么如何拥有不同的“变量集”以供Testflight使用?也许我表达得不太清楚。你会如何将测试iOS应用程序分发给你的测试人员? - Prakash Raman
你会如何将测试iOS应用程序分发给你的测试人员?就像你现在正在做的那样。如果你想为这个构建使用特殊配置,你应该在归档时使用它。 - matt
好的,谢谢。这也是我得出的结论。 - Prakash Raman
3个回答

5

我发现我想要实现的目标是不可能的。系统也没有建立在解决我的问题的方式上。

所以,我现在正在做的是:

  • 将“debug”配置的构建存档
  • 上传到TestFlight并分发可执行文件
  • 测试完成后
  • 使用“release”配置重新编译/重新存档构建
  • 上传到iTunesConnect并发布应用程序

谢谢!


1
应用程序以发布模式分发到TestFlight。如果我正确理解您的问题,但我不确定是否正确,基本上您想在发布版本中使用不同的端点URL。您可以使用以下方法区分调试和发布。
#if DEBUG
  static let baseURLString = "https://mydebugurl.com"
#else
  static let baseURLString = "https://myreleaseurl.com/"
#endif

然而,为了使其起作用,您需要向构建设置中添加自定义标志,请参阅this问题了解更多信息。

希望这可以回答您的问题。


谢谢!是的,不完全是我想要的 :) 我希望看到在TestFlight上有不同的配置,而在发布时有不同的配置 :) 尽管如此,我发现这是不可能的! - Prakash Raman
在这种情况下,恐怕我不知道你该如何实现。 - jackchmbrln
谢谢您的想法! - Prakash Raman

0
据我所知,您无法为推送到TestFlight和应用发布的构建提供“不同的变量集”。这就是它的作用,测试将发布给公众的相同字节码。
话虽如此,您可以做的是:创建一个“版本”端点。因此,如果您知道当您首次推送构建1.2时,您希望利益相关者/外部测试人员首先看到它。向您的生产服务器发送请求,传递正在使用的构建版本,如果版本== 1.2,则将所有端点流量指向您的特殊“开发”端点(在SessionManager设备端创建一个hostName变量,并相应地设置将使其非常简单),否则将用户推向使用prod数据。

谢谢!这绝对是个好主意。让我再考虑一天,看看我怎么想 :) - Prakash Raman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接