将现有和工作的本机包装器应用程序更新为Swift 4,Xcode 9.2,并使用iPhone 6s iOS 11.2.6进行测试(来自Swift 3,Xcode 7.2,iOS 9.2)。
当我使用.gpx文件通过Xcode模拟本地环境中的位置时, Geofence委托(AppDelegate)会触发/执行didEnterRegion
和didExitRegion
。当我使用fastlane部署到Testflight beta app时,代表们在穿越地理围栏时不会开火。我已添加警报以验证是否未调用委托。除了NSLocationAlwaysAndWhenInUseUsageDescription
文件中已经存在的NSLocationWhenInUseUsageDescription
密钥之外,我还确保包含NSLocationAlwaysUsageDescription
和Info.plist
以及其他stackoverflow问题。
我已为Location Updates
和Remote Notifications
启用了背景功能。我在Info.plist
文件中看到了这些功能。我可以在我的数据库中看到,当我授予/授权位置权限时,使用geotoken创建了地理跟踪记录(始终授权)。
我使用半径为100米的CLCircularRegion
。我region.notifyOnEntry = true
和region.notifyOnExit = true
。
我推断问题是我在使用Fastlane进行部署时丢失了一些内容(虽然我没有收到任何错误)或者我错过了一些配置/设置。有任何想法吗?我该怎么调试呢?我的应用程序是否有Testflight登录?我可以提供哪些其他信息来帮助解决问题?
答案 0 :(得分:1)
这很疼。显然,当我们保存纬度和经度(或者那天我在车轮上睡着了)时,会有一点精确的舍入。当我绘制已保存的纬度和经度时,我意识到它远不是所需的围栏。我重新调整了我的纬度和经度,一切都运行良好。始终检查输入数据的准确性。希望这有助于其他人节省时间。