EagleBit 是在不牺牲电池寿命的前提下,无限期获取位置信息最有效的方式。
在不需要时自动停止并重新启动位置更新。
功能
当前功能
- 极低的耗电量 (约 20%)。
- 自动停止/重启位置更新。
- 无需配置,默认值是最优的。
下一步
- 添加 CoreML 以检测活动类型和情况,从而减少电池消耗。
- 添加检查以防止通过 Xcode 或类似软件模拟位置变化。
- 更多功能
如何开始
使用 CocoaPods 安装
platform :ios, '10.0'
pod "EagleBit"
使用 Carthage 安装
将 mhergon/EagleBit
项目添加到您的 Cartfile
。
github "mhergon/EagleBit"
从 Carthage/Build/ 将 EagleBit.framework
拖动到 Xcode 项目“通用”设置的“链接的框架和库”部分。
仅限于 iOS/tvOS/watchOS:在您的应用目标“构建阶段”设置标签页中,点击"+"图标选择“新运行脚本阶段”。创建一个运行脚本并包含以下内容
/usr/local/bin/carthage copy-frameworks
然后在“输入文件”下添加您想要使用的框架路径,例如
$(SRCROOT)/Carthage/Build/iOS/EagleBit.framework
手动安装
下载(右键点击)并将其添加到您的项目中。
要求
版本 | 语言 | 最低 iOS 目标 |
---|---|---|
1.0 | Swift 4.x | iOS 10 |
使用方法
首先,导入模块
import EagleBit
授权应用程序以获取位置更新
Eagle.authorize(level: .always) { (status) in
// Authorization status
}
开始位置更新
Eagle.fly { (location, error) in
/// Use location as you want!
}
如果您想手动停止位置更新,请使用
Eagle.land()
可用的选项
您可以设置 distanceFilter
和 showsBackgroundLocationIndicator
(仅限 iOS 11+)如下
Eagle.distanceFilter = 10.0 // Meters
Eagle.showsBackgroundLocationIndicator = false // Hide blue bar on iOS 11
联系
许可
基于Apache License v2.0授权。
版权所有 © 2017 Marc Hervera。