在iOS开发人员中更改服务器之间的最佳方式

时间:2015-12-17 11:51:06

标签: ios xcode server

我们有不同的服务器环境,例如:

  • 生产服务器的生产环境。
  • 使用临时服务器暂存环境。

我的质量工程师每次都需要在环境之间进行更改,所以我每次都要进行构建,所以我要问一个很好的方法来使这个操作顺利进行并且每次都没有构建。 任何想法:)?

5 个答案:

答案 0 :(得分:2)

如果您有"设置"页面,在DEBUG版本中添加一个条目,允许您更改要使用的服务器。

或者有两个目标,一个用于登台,一个用于生产服务器。

答案 1 :(得分:1)

最好的方法之一是创建一个ServiceEnvironment.plist,其中包含各种服务的端点。每个字典都指向一个特定的配置。在应用程序启动时,您会设置一个动作警报,允许测试人员选择环境。然后,应从所选环境中获取所有端点。您还可以使用“设置”首选项包来设置环境。

<field name="name">purchase.order.inherit</field>
<field name="model">purchase.order</field>
<field name="inherit_id" ref="purchase.purchase_order_form"/>
<field name="arch" type="xml">      
    <xpath expr="//page[@string='Products']//field[@name='order_line']//field[@name='product_qty']"  position="after">
        <field name="squ_meter" readonly="1" />
    </xpath>
</field>

您可以使用警报或操作警报,并在警报完成处理程序中找出单击了哪个按钮,并将其用作[ServerEnvironment showAvailableConfigsWithCompletionHandler:^(UInt32 selectedConfigIndex) { [ServerEnvironment setCurrentConfig:servers[selectedConfigIndex]]; }]; 数组的索引以获取端点字典。然后在您将获得端点的所有位置使用servers。 例如。 [ServerEnvironment currentConfig]

答案 2 :(得分:1)

我们创建了一个可以帮助它,它被称为Backdrop

有了它,你可以:

  • 定义应用程序配置中不同环境的部分。
  • 从命令行运行如下工具:

示例:

./backdrop.swift --select production

我们使用此工具:

  • 编码时在环境之间切换
  • 让我们的构建服务器更新我们应用程序的内置版本,以便我们推送分支机构。例如,生产上传到生产测试飞行应用程序,同样用于登台,具有不同的图标,服务器URL等。

我们支持其他流行的开源图书馆,如TyphoonFrankencover.itXcodeEditor

如果您需要一些帮助开始使用背景幕,我们很乐意为StackOverflow或项目的问题跟踪器提供帮助。

注意:背景仍需要重建,因此可能不完全适合您的特定需求。无论如何我想提一下。

答案 3 :(得分:0)

这样做的一种方法是建立不同的生产,开发等方案。

enter image description here

然后让每个方案都依赖于自己的构建配置。在&#39;构建设置&#39;你可以在&#39; User-Defined&#39;下定义常数。根据您当前使用的方案使用不同的配置。

enter image description here

顺便说一句,DevServicesConfiguration和ServicesConfiguration条目指的是为每个特定环境设置了URL等的.plist文件。

修改

&#39;用户定义的&#39;可以包含构建设置,如图所示: enter image description here

答案 4 :(得分:0)

在上面给出的每个答案中,您都需要重建应用程序。 在运行时以编程方式创建带有DEV读取文件的文本文件。

如果该文件包含DEV,请使用DEV Base URL。

每次需要更改环境时,只需将DEV替换为该文本文件中的PROD

即可

创建函数,该函数将根据该txt文件返回dev URL或Prod URL ....