Xcode Bug Turns Out To Be the Hardened Runtime Setting

What I called an Xcode bug last week turned out to be a broken project configuration that was absolutely my fault. Back when Hardened Runtime was introduced, I switched it on at the Xcode project level, not just for the app target. When you set "Enable Hardened Runtime" on the project level, all targets inherit this setting: the app, the unit tests, and the UI tests. With Xcode 11, it now turns out that hardening the runtime for the test runner broke an internal library lookup in perfect accordance with the utility of the Hardened Runtime settings.

Disabling Hardened Runtime for the UI tests "fixed" them and I can now continue to work on The Archive, right after I finished the feature update to the WordCounter that I've started work on in the past weeks.

Happy news, but also stupid me.

Browse the blog archive