【发布时间】:2017-10-27 07:14:53
【问题描述】:
我正在处理一个经常需要更改用户位置的项目,当然我从项目一开始就包含了所有必要的数据来模拟位置。今天 Xcode 不假装是自定义位置,我决定尝试模拟一个标准位置(例如旧金山),但是当我在真实设备上启动应用程序时,我的真实位置会显示在真实设备上。我尝试在模拟器上运行该应用程序,但得到了相同的结果。我做了一个干净的项目,重新启动了真实设备(iPhone 7),重新启动了 Xcode,但它没有给出结果。我阅读了一些主题,但它们都与开发人员没有在方案中包含位置模拟的事实有关。我该如何解决这个问题?谢谢。
更新:我已经更新了 Xcode,现在我使用的是 9.1 版 (9B55),但这并没有修复这个错误。有时(大约每周一次),Xcode 甚至拒绝模拟列表中的标准位置(例如旧金山)。尽管控制台上方的菜单显示该位置是模拟的。
Info.plist 包含
<key>NSLocationWhenInUseUsageDescription</key>
<string>Turn On Location Services to allow App to show you Events near you.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Turn On Location Services to allow App to show you Events near you.</string>
<key>NSLocationUsageDescription</key>
<string>Turn On Location Services to allow App to show you Events near you.</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>Turn On Location Services to allow App to show you Events near you.</string>
更新 1:Xcode 不能仅在真实设备(iPhone 7)上模拟位置,两周前没有这样的问题。当我调用 CLLocationManager 显示警报时,实际设备上的此警报根本不显示。我再说一遍,这个问题并不总是重复,这可能每周发生一次,但没有任何方法可以帮助将这种可能性恢复到工作状态。
【问题讨论】: