dyld: Symbol not found ... certain MeshResource APIs on iOS 17.x

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:

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()
        }
    }
dyld: Symbol not found ... certain MeshResource APIs on iOS 17.x
 
 
Q