我正在为iPad开发一个使用webservices的应用程序。在当前版本中,我有一个常量字符串,它是服务器的地址。每次我想检查一些东西我只是更改地址(从生产,冻结版本的应用程序到预生产,版本等于存储库)。问题是我想在iPad上有两个版本的应用程序,但我认为只要捆绑标识符是相同的,就不可能。在不创建另一个项目的情况下,这样做的正确方法是什么?我可以拥有“两个目标”,可以分发两个版本的应用程序,唯一的区别是Web服务地址吗?
当应用程序交付给客户端时,此问题将升级,因为无论何时部署测试版本,“冻结”版本都将被删除。
每次在部署之前更改Web服务地址时,是否应该更改捆绑包标识符?或者也许有一些“自动化”的方式呢?
提前致谢
答案 0 :(得分:1)
我不会依赖您的服务调用的捆绑标识符,因为您最终会在您需要维护的服务器中使用许多版本的API。您可以做的是在项目中创建一个新目标,并在Build设置中添加一个Pre处理器宏,然后在代码中引用该宏来决定使用哪个URL。
然后在你的代码上:
- (NSURL *)url {
NSString *urlString = @"your://standars.url";
#if APITEST
urlString = @“your://test.url”;
#ENDIF
return [NSURL URLWithString:urlString];
}