将现有和可用的原生包装器应用程序更新到 Swift 4、Xcode 9.2,并使用 iPhone 6s iOS 11.2.6(来自 Swift 3、Xcode 7.2、iOS 9.2)进行测试。
当我使用 .gpx 文件通过 Xcode 在本地环境中模拟位置时,Geofence 委托(delegate) (AppDelegate) 触发/执行 didEnterRegion
和 didExitRegion
。当我使用 faSTLane 部署到 Testflight beta 应用程序时,代表在穿过地理围栏时不会触发。我添加了警报以验证未调用代表。对于其他 stackoverflow 问题,我确保包括 NSLocationAlwaysAndWhenInUseUsageDescription
和 NSLocationWhenInUseUsageDescription
除了已经在 Info.plist 中的
文件。NSLocationAlwaysUsageDescription
键
我已经打开了 Location Updates
和 Remote Notifications
的后台功能,我在 Info.plist
文件中看到了它们。当我授予/授权位置权限(始终授权)时,我可以在我的数据库中看到使用地理标记创建的地理跟踪记录。
我正在使用半径为 100 米的 CLCircularRegion
。我有 region.notifyOnEntry = true
和 region.notifyOnExit = true
。
我推断问题是我在使用 FaSTLane 部署时遗漏了一些东西(尽管我没有收到任何错误)或者我遗漏了一些配置/设置。有任何想法吗?我该如何调试呢?我的应用程序是否有 Testflight 登录?我还可以提供哪些其他信息来帮助找出问题?
最佳答案
这很痛。显然,当我们保存纬度和经度时(或者那天我在方向盘上睡着了),会有一点精确舍入。当我映射保存的纬度和经度时,我意识到它离所需的围栏很远。我重新调整了我的纬度和经度,一切都恢复正常了。始终检查输入数据的准确性。希望这可以帮助其他人节省时间。
关于ios - Geofence didEnterRegion 和 didExitRegion 不会在 Testflight beta 应用程序上调用。我错过了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49372681/