tuist / XcodeProj

πŸ“ Read, update and write your Xcode projects
https://xcodeproj.tuist.io
MIT License
2.03k stars 309 forks source link

Add support for Thread Performance Checker scheme diagnostics option #693

Closed kwridan closed 2 years ago

kwridan commented 2 years ago

Context πŸ•΅οΈβ€β™€οΈ

In Xcode 14 there's a new "Thread Performance" runtime checker that is enabled by default. This can be configured within the scheme's Run action (LaunchAction).

Screenshot 2022-06-28 at 07 11 02

What 🌱

The new option appears in the LaunchAction only if disabled and omitted if enabled (similar to main thread checker).

    <LaunchAction
       buildConfiguration = "Debug"
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       disableMainThreadChecker = "YES"
+      disablePerformanceAntipatternChecker = "YES"
       launchStyle = "0"
       useCustomWorkingDirectory = "NO"
       ignoresPersistentStateOnLaunch = "NO"
       debugDocumentVersioning = "YES"
       debugServiceExtension = "internal"
       allowLocationSimulation = "YES">
       <BuildableProductRunnable
          runnableDebuggingMode = "0">
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "FB2F4AA5286220B400DF0A62"
             BuildableName = "TemplateApp.app"
             BlueprintName = "TemplateApp"
             ReferencedContainer = "container:TemplateApp.xcodeproj">
          </BuildableReference>
       </BuildableProductRunnable>
    </LaunchAction>

Proposal πŸŽ‰

Notes

leszko11 commented 2 years ago

Hi @kwridan!

I can tackle this one :)

fortmarek commented 2 years ago

That's great to hear @leszko11! Let us know if you need any help πŸ™‚

kwridan commented 2 years ago

Thanks @leszko11 !

Looks like @Bogdan-Belogurov has already submitted https://github.com/tuist/XcodeProj/pull/694

leszko11 commented 2 years ago

Oh, @Bogdan-Belogurov is fast πŸš€