I submitted feedback as FB16463501 -- posting here for others to see, or maybe for Apple to share any help if there are workarounds, etc.:
Targets below iOS 18.x fail to launch app due to dyld[xxxxx]: Symbol not found:
errors when referencing:
MeshResource.init(from:) async
- https://developer.apple.com/documentation/realitykit/meshresource/init(from:)-b7hb- i.e.
dyld[61511]: Symbol not found: _$s10RealityKit12MeshResourceC0A10FoundationE4fromACSayAD0C10DescriptorVG_tYaKcfC
- i.e.
MeshResource.replace(with:) async
- https://developer.apple.com/documentation/realitykit/meshresource/replace(with:)-8uvri- i.e.
dyld[78830]: Symbol not found: _$s10RealityKit12MeshResourceC0A10FoundationE7replace4withyAcDE8ContentsV_tYaKF
- i.e.
Targets tested that exhibit issue: (DYLD errors)
- Device: iOS 17.7.2, iPhone 14 Pro Max
- Simulator: iOS 17.5 (21F79), iPhone 15
System Information:
- macOS Version 15.3 (Build 24D60)
- Xcode 16.2 (23507) (Build 16C5032a)
MRE -- include this code in your app: (no need to invoke, just reference)
static func addOrUpdateEntityModel_MRE(_ entity: ModelEntity) async {
let descriptor = MeshDescriptor(name: "MyDescriptor")
do {
if let modelComponent = entity.model { // update existing ModelComponent
if let model = try? MeshResource.Model(id: "MyModelId", descriptors: [descriptor]) {
var contents = MeshResource.Contents()
contents.models = .init([model])
try await modelComponent.mesh.replace(with: contents) /// `dyld[78830]: Symbol not found: _$s10RealityKit12MeshResourceC0A10FoundationE7replace4withyAcDE8ContentsV_tYaKF`
}
} else { //create new ModelComponent
/// Comment-out the 2 lines below == dyld error for above `MeshResource.replace(with:)`
let meshRes = try await MeshResource(from: [descriptor]) /// `dyld[61511]: Symbol not found: _$s10RealityKit12MeshResourceC0A10FoundationE4fromACSayAD0C10DescriptorVG_tYaKcfC`
entity.model = .init(mesh: meshRes, materials: [SimpleMaterial()])
}
} catch {
fatalError()
}
}