【问题标题】:Reading CMSensorDataList in Swift在 Swift 中读取 CMSensorDataList
【发布时间】:2016-06-11 17:13:35
【问题描述】:

我正在制作一个苹果手表应用程序,它可以获取从一个日期到另一个日期的加速度计数据。通过使用此代码:

@IBAction func start() {
    WKInterfaceDevice.currentDevice().playHaptic(WKHapticType.Start)
    let startDate = NSDate()
    NSUserDefaults.standardUserDefaults().setObject(startDate, forKey: "StartDate")
}

@IBAction func stop() {
    WKInterfaceDevice.currentDevice().playHaptic(WKHapticType.Stop)
    let endDate = NSDate()
    let startDate = NSUserDefaults.standardUserDefaults().objectForKey("StartDate") as! NSDate
    printData(startDate, endDate: endDate)
}

然后当我使用函数 printData() 导出数据时,这是该函数的代码

func printData(startDate: NSDate, endDate: NSDate) {
    let recorder = CMSensorRecorder()
    let list: CMSensorDataList = recorder.accelerometerDataFromDate(startDate, toDate: endDate)!

    for (index, data) in list.enumerate() {
        print(index, data)
    }
}

对于枚举,我有一个扩展,这里是扩展的代码:

extension CMSensorDataList: SequenceType {
    public func generate() -> NSFastGenerator {
       return NSFastGenerator(self)
    }
}

当我按下停止按钮时,应用程序崩溃。我从这个问题(Swift watchOS 2 - CMSensorDataList)中得到了我的所有代码,但它在我的设备上不起作用。有谁知道发生了什么?

【问题讨论】:

    标签: ios swift watchkit apple-watch watchos-2


    【解决方案1】:

    您需要在 Info.plist 文件中为 NSMotionUsageDescription 输入一个条目。如果您在连接到 Xcode 时崩溃,它应该会为您提供此信息。

    【讨论】:

      猜你喜欢
      • 2015-09-15
      • 1970-01-01
      • 2014-12-26
      • 2016-06-16
      • 2021-07-16
      • 1970-01-01
      • 2019-07-10
      • 2018-03-26
      • 1970-01-01
      相关资源
      最近更新 更多