【发布时间】:2020-05-21 16:35:13
【问题描述】:
我正在开发一个使用 Core Motion 的应用程序。在应用程序的初始启动过程中,它会请求用户许可,我们基本上希望根据该弹出窗口的响应(允许/拒绝)来更新 UI。对于通知和位置服务,这似乎很容易做到,它不喜欢 Core Motion 存在请求权限 API,而是像我们现在一样在管理器上开始更新时触发弹出窗口:
let motionManager = CMMotionActivityManager()
motionManager.startActivityUpdates(to: OperationQueue.main) {
// do stuff
}
理想情况下,我希望能够检测到 CMMotionActivityManager.authorizationStatus() 中的更改,但到目前为止,除了实现一个检查此属性的计时器之外,我还没有提出可行的解决方案,而我没有感觉是一个特别好的解决方案。
我尝试使用 Combine 将 authorizationStatus() 或管理器作为一个整体设为 observable,但这似乎不会触发任何更新。
【问题讨论】:
标签: ios swift core-motion combine