Synchronisation funktioniert nicht für die unabhängige WatchOS -App mit CloudKit und SwiftDataIOS

Programmierung für iOS
Anonymous
 Synchronisation funktioniert nicht für die unabhängige WatchOS -App mit CloudKit und SwiftData

Post by Anonymous »

Ich arbeite an einer unabhängigen WatchOS -App und suchte nach der besten Lösung für die vor Ort bestehende Daten und habe eine Online -Synchronisierung mit dem iCloud -Speicher. Dann wollte ich die Daten an die iCloud -Container anschließen, damit ich den CloudKit abgeholt habe. Ich teste den Ansatz mit einem Testflug -Builds für meine WatchOS -App, aber ich kann nicht sehen, dass Datensätze im iCloud -Container gespeichert werden. Es funktioniert ohne Problem. Ich kann die hochgeladenen Daten (im iCloud -Container) von einem iOS sowie in der iOS -App sehen, während ich einen Datensatz aus der CloudKit -Konsole erstelle. Leider ist es für meine WatchOS -App nicht der Fall. < /P>
@Model
final class Item {
var timestamp: Date = Date()

init(timestamp: Date) {
self.timestamp = timestamp
}
}

@main
struct TestApp: App {
var sharedModelContainer: ModelContainer = {
let schema = Schema([
Item.self,
])
let modelConfiguration = ModelConfiguration(schema: schema, isStoredInMemoryOnly: false)

do {
return try ModelContainer(for: schema, configurations: [modelConfiguration])
} catch {
fatalError("Could not create ModelContainer: \(error)")
}
}()

var body: some Scene {
WindowGroup {
ContentView()
}
.modelContainer(sharedModelContainer)
}
}

struct ContentView: View {
@Environment(\.modelContext) private var modelContext
@Query private var items: [Item]

var body: some View {
NavigationSplitView {
List {
ForEach(items) { item in
NavigationLink {
Text("Item at \(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard))")
} label: {
Text(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard))
}
}
.onDelete(perform: deleteItems)
}
.toolbar {
ToolbarItem(placement: .navigationBarTrailing) {
EditButton()
}
ToolbarItem {
Button(action: addItem) {
Label("Add Item", systemImage: "plus")
}
}
}
} detail: {
Text("Select an item")
}
}

private func addItem() {
withAnimation {
let newItem = Item(timestamp: Date())
modelContext.insert(newItem)
}
}

private func deleteItems(offsets: IndexSet) {
withAnimation {
for index in offsets {
modelContext.delete(items[index])
}
}
}
}
< /code>
Code oben ist im Grunde genommen ein Beispiel, das vom Xcode für eine App mit CloudKit bereitgestellt wird, und es funktioniert sehr gut für den iOS -EPP. /> Push -Benachrichtigungen < /li>
< /ol>
Habe ich beim Konfigurieren des Setups etwas verpasst? Ich dachte, wenn Apple SwiftData und CloudKit bereitstellt, würde es zwischen den Plattformen in Bezug auf eine Logik gleich aussehen. Ich kann nichts mehr finden, um den SwiftData + CloudKit für eine unabhängige WatchOS -App einzurichten.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post