我目前正在构建我的第一个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
}
控制台按预期打印出加速度.z值,但一旦我按下主页按钮,控制台会打印“停止”。 我在网上搜索了如何做到这一点的示例代码,我知道这是可能的...因为我们都知道应用程序“敲门解锁”,但我似乎找不到Swift的示例代码片段。