Moment这款app是用什么计算screen time和pickups的

2020-10-28 科技 58阅读
其实 iPhone 的锁屏状态会被系统发出通知,只不过这个通知不是 Foundation 的 Notifications,而是 CoreFoundation 的 Darwin Notifications,具体来说,是
com.apple.springboard.lockstate
com.apple.springboard.lockcomplete
具体怎么监听这两个通知 StackOverflow 上面能找到很多答案, 那几种方法都是 C 函数,用起来可能有点麻烦,你可以写一个 Objective-C 的 wrapper。
然后 moment 利用定位让自己保持在后台运行,就能做到上述事情了。
Darwin
Notifications 能做很多事情,早期的 watchOS 并没有 WatchConnectivity 可用,也可以利用自定义的
Darwin Notifications 做 watch 和 iPhone 的通信,一个 app 的多个 extension 也能利用
Darwin Notifications 通信,这是 MMWormhole 这个库的基础之一。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com