好吧,这让我抓狂。我有一个小的 CI 构建系统正在运行。我正在使用 UIAutomation 对我的应用程序进行 UI 测试。由于该应用程序使用 CoreLocation,因此第一次启动该应用程序时,我会收到一个小警报,要求我确认我希望跟踪我的位置。这会很棒,但是警报不是我自己的应用程序的一部分,我不能使用 UIAutomation 与它交互。是否有任何解决方案可以在不手动点击按钮的情况下确认此警报。
谢谢。
附言摆脱测试构建的 CoreLocation 不是一种选择。
最佳答案
我在之前工作的地方解决这个问题的唯一方法是编写一个小的苹果脚本应用程序,它可以为您解除警报。
您应该能够执行一些简单的 UI 脚本来消除 iOS 模拟器上的警报。
显然,我假设您在模拟器上运行,而不是用于测试的设备。
如何通过 iPhone 模拟器的 apple 脚本关闭位置提醒
- 在系统偏好设置中打开辅助功能。在左下角,确保选中选项为辅助设备启用访问
Apple 脚本在您的应用程序在模拟器中启动并显示警报后运行,因此您需要在一些延迟后运行它。
tell application "iPhone Simulator"
activate
end tell
tell application "System Events"
tell process "iPhone Simulator"
click button "OK" of window 1
end tell
end tell
关于ios - 如何通过UIAutomation处理 "_APPNAME_ Would Like to Use Your Current Location"告警,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13938537/