我正在开发beacon应用程序,我正在使用Kontkat.io beacon。应用处于前台和后台时,信标监控(进入/退出事件)正常工作。
在iOS 11中,app处于前台时工作正常,但是当设备被锁定时,信标检测将停止,并且不会进入/退出事件。如果设备屏幕已锁定或应用程序处于后台,我已使用较低的iOS 11版本及其触发器进入/退出事件进行检查。这是iOS 11的限制还是我错过了什么?
注意:
我在info.plist中添加了NSLocationAlwaysAndWhenInUseUsageDescription。
答案 0 :(得分:0)
转到设置 - >应用程序 - >权限并确保"始终"已经授予了位置权限,而不仅仅是在使用时#34;。
除了info.plist中的NSLocationAlwaysAndWhenInUseUsageDescription之外,还要确保您有一个NSLocationWhenInUseUsageDescription字符串。这两者都是iOS 11所必需的
如果您之前使用XCode 8进行构建和安装,也可能需要卸载并重新安装。确保您看到权限对话框并选择" always"选项。
答案 1 :(得分:0)
我不确定这是一个答案,更多我的发现包含可能的答案。
我也在不同的设备和不同的设置上看到了这个问题。
我发现如果我有一个完全"新鲜" iPhone没有从iCloud备份恢复,也没有登录到iCloud帐户,它将起作用。如果我从链接到我的iCloud帐户的iCloud备份恢复相同的设备,它就不起作用。
我已在多台设备上多次完成此操作,使用我的iCloud帐户结果相同。
我已经尝试过与其他人的iCloud帐户相同的测试(以及从他们拥有的iCloud备份中恢复iPhone),而且似乎并非在所有iCloud帐户中都发生过。
当我似乎能够通过关闭" iCloud Backup"来解决这个问题时,我认为我已经接近了解决方案。但这似乎只是巧合。
尝试在"新鲜"上运行您的应用iOS设备,看看会发生什么。