【问题标题】:How to use different URLs for Simulator and Device如何为模拟器和设备使用不同的 URL
【发布时间】:2010-06-15 20:56:48
【问题描述】:

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

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

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

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

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

由于标志是由 Xcode 自动设置的(我仍然从菜单中选择是运行还是调试),它使我不必自己在代码中手动设置标志,以确定它是为调试运行还是运行运行。

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

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

有什么想法吗?

谢谢。

【问题讨论】:

    标签: iphone


    【解决方案1】:

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

    【讨论】:

    • 这不是更多的编译时间而不是运行时间吗?
    • 他问是否有编译器标志;就是这样:)
    • 谢谢,伙计们。 Nextman 是对的。我要求提供编译器标志。实际上,这在 Apple 文档中很早就列出了,我一定是很久以前读过的,直到我需要它时才忘记它! developer.apple.com/iphone/library/documentation/xcode/…
    【解决方案2】:

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

    查看UIDevice 类。

    【讨论】:

    • 谢谢。这也是一个有用的信息。特别是如果我需要更改已发布代码中的某些内容,具体取决于应用程序运行的设备。虽然我也可以使用它,但我更喜欢 TARGET_IPHONE_SIMULATOR 来满足当前的需求。
    猜你喜欢
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    相关资源
    最近更新 更多