使用Xcode在真实Apple Watch上模拟位置遇问题求助
Apple Watch应用无法使用Xcode位置模拟的解决办法
- 单独检查Watch App的Scheme设置:别只盯着iPhone主App的Scheme,切换到Watch App的Scheme,进入
Edit Scheme->Run->Options,确认Allow Location Simulation已经勾选,不少人会漏掉这个步骤。 - 确认GPX文件的Target关联:选中你的GPX文件,在右侧Xcode检查器的
Target Membership里,除了iPhone App的target,一定要勾选Watch App对应的target,否则Watch端根本找不到这个GPX文件。 - 重置Xcode与设备连接:完全退出Xcode,重启iPhone和Apple Watch,重新配对后再运行Watch App,有时候缓存会导致模拟功能失效。
- 代码手动加载GPX(兜底方案):如果菜单还是灰色,直接在Watch App的启动代码里手动指定GPX文件,示例代码如下:
注:上述私有API仅用于本地调试,绝对不能打包上线。#if DEBUG if let gpxURL = Bundle.main.url(forResource: "你的GPX文件名", withExtension: "gpx") { let locationManager = CLLocationManager() // 强制加载GPX模拟(私有API,仅调试用) locationManager.perform(Selector(("_startUpdatingLocationFromGPXAtURL:")), with: gpxURL) locationManager.startUpdatingLocation() } #endif - 检查Watch端开发者权限:在Apple Watch的
设置->开发者里,确认允许位置模拟开关是打开的,这个权限偶尔会被系统自动禁用。
内容的提问来源于stack exchange,提问作者Georg
相关产品推荐
相关产品推荐

