I'm seeing the same issue. As a workaround I've manually added the conformance to Identifiable to the model:
extension MyModel: Identifiable {
public var id: PersistentIdentifier { persistentModelID }
}
Post
Replies
Boosts
Views
Activity
The only thing I see different to a migration I have working is that the versionIdentifier seems to have changed in Beta 5 to a non-optional string (the docs don't seem to have caught up). I've set them to a string of my choosing:
static var versionIdentifier: String = "V1"
In my unit tests, I need to insert Foo into a context before I can set the relationship to Bar. If the parent entity does not have a context I see a crash in the getter.
let foo = Foo(bar: [])
container.mainContext.insert(foo)
foo.append(bar: Bar(value: 0))
You will need to mark the test as running on the MainActor to access the mainContext.
I'm still seeing this in iOS 16.1 (FB11826112)
It looks like your trying to load the model from the main bundle. You need to load it from the Swift package bundle and then pass it to the NSPersistentContainer initializer.
I think the problem you're having is because your package tests are in a different bundle. Packages define a separate test target in the Package.swift manifest.
To allow your tests to access resources, like the momd file, you'll need to declare a public symbol for them. This is similar to what you would need to do to access those resources from your app target.
For example, in a source file in your Swift package:
public static let momURL = Bundle.module.url(forResource: "MyModel", withExtension: "momd")
You can then use this to load the MOM in your unit tests:
let mom = NSManagedObjectModel(contentsOf: momURL!)
I suspect the problem you are having is that typically the parent view controller sets the size and position of the child view controller. You can have the child view controller communicate its preferred size to the parent by having it (the child) set its preferredContentSize. You then implement preferredContentSizeDidChange in the parent view controller to react to the change.
So you might have an optional height constraint in the parent view controller that you update with the preferred content size of the child view.
You're probably going to need to provide some more details before anybody can help. Failing that you might try using the view debugger and examine each view in the stack view. It will highlight any views that might be ambiguous which may give you a clue to what you are missing.