내 앱이 배경에서 위치, 고도, 회전 및 가속도계 데이터 (DeviceMotion)를보고하고 기록합니다. 이것은 iOS 10.3.3에서 정상적으로 작동합니다. IOS 11에서는 장치가 잠겨있는 동안 모션 데이터에 더 이상 액세스하지 않습니다. 그러나 고도 데이터와 위치 데이터는 여전히 콘솔로 스트리밍됩니다.IOS 11에서 백그라운드에서 DeviceMotion이 작동을 멈췄습니다.
은 모션 데이터에 액세스하거나 내가 모션 업데이트를 시작 해요 방법 OperationQueue.main
다음같은 애플 이제 블록이하는 방식으로 액세스를 시도하고있는 중이 야에서 저를 방지 IOS (11)에 변경 뭔가를 가지고 있습니다. 휴대 전화가 잠금 해제되어 있으면 모두 정상적으로 작동합니다. 내가 전화를 잠금 경우, 더 이상 업데이트는 무엇 변경 모션 배경 모드에 대해 아무것도 찾을 수 없습니다
let motionManager = self.motionManager
if motionManager.isDeviceMotionAvailable {
motionUpdateInterval = 0.15
motionManager.deviceMotionUpdateInterval = motionUpdateInterval
motionManager.startDeviceMotionUpdates(using: .xArbitraryZVertical, to: OperationQueue.main) {deviceMotion, error in
guard let deviceMotion = deviceMotion else { return }
을 .:하지만, 그렇지 않으면 RunKeeper이 Strava 휴식하는 방법이있을 것 같다. 누군가 IOS11 출시 전에이 기능을 다시 사용할 수있게 도와 줄 수 있습니까?
감사합니다.
비슷한 문제가 발생했습니다. 모션 업데이트를 위해 앱을 계속 활성화하려면 CoreLocation 백그라운드 모드를 사용하고 있습니까? – doovers
@doovers 수정하십시오. CoreLocation은 사용 중이며 이전에는 동작에 필요한 백그라운드 모드를 지원했습니다. 실망스러운 점은 WatchKit에는 백그라운드에서 모션에 대한 액세스를 허용하는 운동 모드가 있다는 점입니다. –
우리가 혼자가 아니라고 생각합니다 ...이 [thread] (https://forums.developer.apple.com/thread/86034)를 확인하십시오. 어떤 기기에서 문제가 발생합니까? 나는 6 & 7을 시도했고 단지 7 개가 작동하지 않습니다. – doovers