2010-10-27 58 views
2

我的iPhone应用程序使用Java Web服务来获取数据。在我的公司,我们有3个环境 - 开发,测试和生产。指向Web服务的每个环境的URL都不同。因此,每次我们将项目推广到下一个环境时,我都必须更改iPhone代码中的硬编码URL以匹配目标环境。有没有人设计出一种策略来处理这个问题,无论是在iPhone本身还是在服务层?iPhone处理动态URL

回答

1

尝试在您的应用的info.plist文件中存储URL的可变部分。您可以更改该W/O重建。

如果需要更多配置更改,VCS分支可能是您需要的。

+1

我第二。我一直这样做。 – 2010-10-27 18:30:36

+0

更新:我创建了一个.plist,但是如何更改无重建的值?在我的测试中,似乎在更改被接受之前需要重新构建。我将.plist放在Resources文件夹中。它应该位于其他地方吗?谢谢。 – Jon 2010-11-03 12:50:26

1

,您可以考虑以下方法:

  1. 当您启动您的应用程序,或者说当你已经建立了网络连接是可能的,您将设备ID发送给服务器。

  2. 服务器根据列表检查您的设备ID,并告诉您的应用程序是否允许与服务器交谈的用户查看开发和测试内容。

  3. 如果您的设备被允许,您可以为用户提供一个界面,以更改他们是否想要查看开发,测试或生产内容。将其存储在NSUserDefaults中

  4. 根据用户的选择,相应的url用于与您的服务器通信。可以肯定的是,您也可以在此处添加您的设备ID。

此方法的好处是您可以允许客户端查看测试内容......而无需更新或更改其应用程序。您可以随时撤销该权限。