【发布时间】:2015-08-17 15:27:56
【问题描述】:
我目前正在构建我的第一个 iOS Swift 应用程序,我想通过这个应用程序在后台运行时执行一个操作。
一旦用户在设备上点击两次,就需要执行该操作。
我已启用后台模式:应用功能中的位置更新
并在 AppDelegate 中设置一个 AccelerometerUpdatesToQueue 函数:
let manager = CMMotionManager()
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
if manager.accelerometerAvailable {
manager.accelerometerUpdateInterval = 0.01
manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) {
[weak self] (data: CMAccelerometerData!, error: NSError!) in
println(data.acceleration.z)
}
}
return true
}
控制台按预期打印出acceleration.z值,但是一旦我按下主页按钮,控制台就会停止打印。
我在网上搜索了有关如何执行此操作的示例代码,我知道这是可能的...因为我们都知道“敲敲解锁”应用程序,但我似乎找不到一块Swift 的示例代码。
【问题讨论】:
标签: ios swift core-motion