【问题标题】:Programmatically setting iphone simulator location以编程方式设置 iphone 模拟器位置
【发布时间】:2011-12-22 08:30:21
【问题描述】:

我刚刚更新到 XCode 4.2,我看到了一个很酷的功能,它允许我手动设置设备位置。有谁知道以编程方式完成相同事情的方法?我想在一些单元测试中设置位置。

【问题讨论】:

  • 我认为这没有帮助。它的意思是覆盖来自 CLLocationManager 的回调。但我看到的问题是,在我的单元测试中,回调根本没有到来。我希望有类似的东西:[NSApplication setLatitude:lat longitude:lng]
  • 所以@JonnyBoy 你知道了吗?我也想用这个!
  • @abbood 没有让我满意的真正解决方案...

标签: iphone objective-c xcode ios-simulator xcode4.2


【解决方案1】:

以下 AppleScript 将让您设置 iOS 模拟器的位置。应该可以将这种脚本集成到单元测试脚本中,或者让您的脚本生成等效的 AppleEvents。

tell application "iOS Simulator"
    activate
end tell

tell application "System Events"
    tell process "iOS Simulator"
        tell menu bar 1
            tell menu bar item "Debug"
                tell menu "Debug"
                    tell menu item "Location"
                        click
                        tell menu "Location"
                            click menu item "Custom Location…"
                        end tell
                    end tell
                end tell
            end tell
        end tell

        tell window 1
            set value of text field 1 to "40.69"
            set value of text field 2 to "-74.045"
            click button "OK"
        end tell

    end tell
end tell

【讨论】:

  • 听起来不错。我不再使用 ios,但我会把这个给你,因为它看起来像我要求的那样。也许其他人可以验证?
【解决方案2】:

您可以使用预处理器条件包含;像这样检查TARGET_IPHONE_SIMULATOR 宏:

#if TARGET_IPHONE_SIMULATOR
    float longitude = 39.1234;
    // etc    
#else
    float longitude = myLocationManager.longitude
#endif

【讨论】:

猜你喜欢
  • 2023-03-11
  • 2018-11-20
  • 2017-02-05
  • 1970-01-01
  • 1970-01-01
  • 2011-04-06
  • 2010-09-17
  • 1970-01-01
相关资源
最近更新 更多