Я надеялся, что кто-нибудь сможет мне помочь с этой проблемой 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!*