Данные магнитометра не обновляются в SwiftUI для WatchOS - PullRequest
0 голосов
/ 29 марта 2020

Я надеялся, что кто-нибудь сможет мне помочь с этой проблемой SwiftUI, с которой мне трудно справиться

Я использую SwiftUI для WatchOS, создавая независимое приложение для часов, и сейчас я просто пытаюсь заставить данные магнитометра считываться на экране и обновляться при перемещении устройства.

Когда Я запускаю приложение на своих часах, оно показывает текст, но не обновляет и не изменяет значения с 0,000000

Вот как выглядит мой код прямо сейчас.

ContentView.swift

import CoreMotion

struct ContentView: View {

    @ObservedObject var magnetometer = MagneticFieldProvider()

    var body: some View {
        VStack(alignment: .leading) {
            Text("Magnetometer Data")
            Text("X: \(magnetometer.magneticField.x)")
            Text("Y: \(magnetometer.magneticField.y)")
            Text("Z: \(magnetometer.magneticField.z)")
        }   .onAppear(perform: { self.magnetometer.startUpdates() })
    }

}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView(magnetometer: MagneticFieldProvider())
    }
}

HostingController.swift

import Foundation
import SwiftUI
import CoreMotion

class HostingController: WKHostingController<ContentView> {
    override var body: ContentView {
        return ContentView(magnetometer: MagneticFieldProvider())
    }
}```




*Any advice would be greatly appreciated, I've done a lot of research but as of now there's limited tutorials for SwiftUI on WatchOS... 
Thank you in advance!*

...