2

我需要以一种在 TestFlight 上进行内部测试时将应用程序指向开发服务器的方式配置我的环境,并在推送到实际应用商店时指向产品服务器。我有调试和发布变量设置。归档应用程序时,构建配置设置为发布。我想指出开发服务器,直到它通过 iTunes-Connect 推送到 App Store。还是在为测试人员推送到 TestFlight 时将构建配置更改为 Debug 并在推送到应用商店时更改回 RELEASE 是否正常?谢谢。

4

1 回答 1

5

您可以使用方案来实现这一点

Project -> Info -> Configurations1)通过复制 Release 创建一个新的配置在此处输入图像描述

我将其命名为 Dev(Release) 在此处输入图像描述

2)在构建设置中为新配置设置适当的配置文件(在您的情况下为临时或分发)和代码签名身份 在此处输入图像描述

3)为您的内部发布创建一个新方案, 在此处输入图像描述 在此处输入图像描述

4)将新方案的存档编辑到您的新配置 在此处输入图像描述

5) 到目前为止,我们已经处理了您在内部测试/发布时指向开发服务器的用例。为此,我们必须创建一个新的编译器标志(Swift)/预处理器宏(Objective-C)。

目标-c

  Go to Build Settings -> Preprocessor Macros     

在此处输入图像描述

  Add a new macro "DEV_RELEASE=1" under the new configuration

在此处输入图像描述 注意:如果它尚未在发布配置下设置,也可以设置 RELEASE=1 标志。

Swift 转到 Build Settings -> Swift Compiler - Custom Flags under Active Compilation Conditions,将标志 RELEASE 和 DEV_RELEASE 添加到适当的 Release 和 Dev(Release) 配置中。

在此处输入图像描述

6) 现在你可以在你的代码中访问这些 Macro/CompilerFlags

#ifdef DEBUG
   NSString* serverURL = @"https://dev.com”;
#elif RELEASE
   NSString* serverURL = @"https://prod.com”;
#elif DEV_RELEASE
   NSString* serverURL = @"https://dev.com”;
#endif

7) 当你想发送一个内部构建(adhoc 或 Testflight) 时,只需切换 Scheme 和 Archieve 在此处输入图像描述

于 2018-03-30T05:33:59.430 回答