gpt4 book ai didi

ios - iOS 10 中的 CMPedometer

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:00 24 4
gpt4 key购买 nike

我正在尝试访问 iOS 10 中的 CMPedometer 数据,我已经按照一些教程进行操作,但似乎无法正常工作。我以前从未尝试过访问这些信息,所以真的不知道从哪里开始。我希望获得一些设置方面的帮助。非常感谢您提供的任何帮助。

我既想进行实时更新,也想访问已传递的信息,但只能在同一天进行。

目前无法打开并打印出大量错误。

import UIKit
import CoreMotion

class ViewController: UIViewController {

var days:[String] = []
var stepsTaken:[Int] = []

let activityManager = CMMotionActivityManager()
let pedoMeter = CMPedometer()

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let cal = Calendar.current
var comps = cal.components([.year, .month, .day, .hour, .minute, .second], from: Date())
comps.hour = 0
comps.minute = 0
comps.second = 0
let timeZone = TimeZone.system
cal.timeZone = timeZone

let midnightOfToday = cal.date(from: comps)!

if(CMPedometer.isStepCountingAvailable()){

self.pedoMeter.startUpdates(from: midnightOfToday) { (data: CMPedometerData?, error) -> Void in
DispatchQueue.main.async(execute: { () -> Void in
if(error == nil){
print("\(data!.numberOfSteps)")
//self.step.text = "\(data!.numberOfSteps)"
}
})
}
}

}
}

我一直在玩弄一些东西,并意识到如果模拟器也打开,则会出现一条大错误消息。但是,如果它关闭并仅在我的手机上运行,​​则错误为:

2016-07-16 18:13:38.054710 测试[419:37870] [访问] 私有(private)

最佳答案

您使用的是测试版 Xcode,该日志对所有用户都是通用的。没什么好担心的。稍微编辑您的代码。

import UIKit
import CoreMotion

class ViewController: UIViewController {

var days:[String] = []
var stepsTaken:[Int] = []

let activityManager = CMMotionActivityManager()
let pedoMeter = CMPedometer()

override func viewDidLoad() {
super.viewDidLoad()

let cal = Calendar.current
var comps = cal.components([.year, .month, .day, .hour, .minute, .second], from: Date())
comps.hour = 0
comps.minute = 0
comps.second = 0
let timeZone = TimeZone.system
cal.timeZone = timeZone

let midnightOfToday = cal.date(from: comps)!

#if arch(i386) || arch(x86_64) && os(iOS)

// Simulator

#else

// Run only in Physical Device, iOS

if(CMPedometer.isStepCountingAvailable()){

self.pedoMeter.startUpdates(from: midnightOfToday) { (data: CMPedometerData?, error) -> Void in
DispatchQueue.main.async(execute: { () -> Void in
if(error == nil){
print("\(data!.numberOfSteps)")
//self.step.text = "\(data!.numberOfSteps)"
}
})
}
}
#endif
}
}

添加 key Privacy - Motion Usage Descriptioninfo.plist , 与 StringYES .

尝试在 iPhone 中再次运行应用程序并检查。

关于ios - iOS 10 中的 CMPedometer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38412977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com