Finally figured this out. It turns out the problem was that the version of Xcode set by xcode-select was the store version of Xcode (11.7).
Once Xcode 12 was released & I installed the update the problem inexplicably disappeared. However, our build server still hade Xcode 11.7 set as the default with xcode-select (even though the build was actually using Xcode 12), so when I pushed a build of our tvOS app the problem showed back up. It took several days of mucking around before it finally occurred to try changing the version of Xcode set with xcode-select. When I set Xcode 12 as the default with xcode-select on the build machine the problem disappeared again.
To be clear - it was not that the project was using the wrong version of Xcode to build - I have a script set to select a specific version of Xcode on the build machine, and on my local machine I was using Xcode 12 to build the project. The problem was specifically the version that was set with xcode-select. For some reason, during the linking process, Xcode 12 (presumably xcodebuild) is using whatever version is set with xcode-select and not actually using the version of Xcode the build was started with.
This seems like a bug in Xcode 12, for which I'll be filing a report.
Topic:
UI Frameworks
SubTopic:
UIKit
Tags: