如何为模拟器和设备使用不同的URL

时间:2010-06-15 12:52:21

标签: iphone

我正在构建一个Web应用程序。

当我在模拟器上测试它时,我想通常使用本地回送URL,例如localhost因为测试可能会弄乱真实服务器上的数据。当我想在设备上测试/发布时,我想使用真实的服务器。

我当然可以手动更改值,但很容易忘记更改。如果有可能,我正在寻找自动解决方案。

E.g。如果我使用的是Debug或者只是Run,我知道我可以使用由Project设置设置的DEBUG标志来生成不同的代码。

#ifdef DEBUG
    kURL = @"http://localhost/xyx"
#else
    kURL = @"http://realserver/xyz"
#endif

由于标志是由Xcode自动设置的(我仍然选择从菜单运行还是调试),它使我无需手动设置代码中的标志,无论是运行调试还是运行。

虽然这很有用,但DEBUG标志无法用于检测它是在模拟器上运行还是在设备上运行。

我不知道是否定义了任何标志来识别它是在模拟器或设备上运行(还是SDK的不同版本/名称,因为它似乎使用不同的SDK),我可以使用它指示代码使用不同的URL。

有什么想法吗?

感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用TARGET_IPHONE_SIMULATOR和TARGET_OS_IPHONE(我认为)

答案 1 :(得分:0)

一个简单的谷歌搜索提出了this:“iphone模拟器设备检测”

查看UIDevice课程。