Post marked as unsolved
249
Views
I get a ton of compile errors when I compile in Release mode (i.e. Archive) my swift package that contains my CoreData .xcdatamodel file.
Works fine in debug mode, but when archiving, I get tons of “error reading dependency file…unexpected character in prerequisites at position…” errors.
Same errors as this issue: https://developer.apple.com/forums/thread/657264
If I move the .xcdatamodel to the main project (out of the package), then it's all good again, but I'd like to keep the database model file inside the package if possible.
Post marked as unsolved
158
Views
If I query an entity with a relationship to another entity, and then I update that related entity, the view does not refresh automatically. I'm 'forcing' it now, but that doesn't seem right. What's the right way?
See code sample:
struct ContentView: View {
		@Environment(\.managedObjectContext) private var viewContext
		@FetchRequest(
				sortDescriptors: [],
				animation: .none)
		private var categories: FetchedResults<Category>
		private func forceRefresh() {
				viewContext.refresh(categories[0], mergeChanges: true)
		}
		var body: some View {
				
				VStack {
						List {
								
								ForEach(categories) { category in
										
										Section {
												Text("\(category.name!)").font(.title)
										}
										
										ForEach(category.items?.allObjects as! [Item]) { item in
												Button {
														item.name = "\(UUID())"
												} label: {
														Text("\(item.name!)").font(.caption)
												}
										}
								}
						}
						
						Divider()
						
						Button {
								forceRefresh()
						} label: {
								Text("Force Refresh").foregroundColor(.blue)
						}
				}
		}
}
Post marked as solved
168
Views
What are the best practices for building for the iPadOS pointer when primarily building with SwiftUI?
Post marked as solved
630
Views
What's the best practices recommendation for creating new projects?
In Xcode it seems I could go either way, either an iOS/iPadOS app and select the 'Mac' checkbox (Catalyst) or use the new Universal app template which creates specific iOS and Mac targets.
They both use SwiftUI, so it's not 100% clear what the 'correct' way to go.