Why is the Main Thread Checker disabled?


I've opened a project which has been running since iOS 3 on Xcode 9 and updated the project settings.


If I edit the current scheme, go into Run, and Diagnostics, I can see "Main Thread Checker" is checked although it is disabled (see attached above).


I've tried forcing updating the UI from a background thread and it did not trigger anything on the console, even though the option is checked on the build scheme. I've tried building both for a device and the simulator.


Would anyone know how can I properly enable the main thread checker and why is it disabled on this project?


Thanks in advance!

I have the same issue (Objective-C). The thread checker option is checked but grayed out, and intentional thread errors are not caught at runtime.

Apparently, the Main Thread Checker only works for code executing on the Simulator. If I select a Sim, the Main Thread Checker option in the Scheme is not grayed out.

Look at the run time errors in the compiler errors pane, it shows the main thread errors as well as the stack trace resulting in the error. I have also found these flagged in the code while I am editing.

Why is the Main Thread Checker disabled?
 
 
Q