Private Discriminator

Private Discriminator maps Swift hash IDs back to readable module and filename hints when a matching local CSV index is available.

What is a Swift hash ID?

Swift uses a private discriminator hash — a 128-bit identifier derived from the module name and filename — to keep types with the same base name distinct across modules. When a type is marked private, Swift surfaces this hash in the binary rather than a readable name.

In the LookInside inspector you may see something like: CGDrawingView in _863CCF9D49B535DAEB1C7D61BEE53B59. The long hex string is the private discriminator hash. Private Discriminator maps it back to SwiftUICore / CALayerPlatformViewDefinition.swift.

Setup

  1. 1

    Update the default library

    Open LookInside → Private Discriminator Settings…, enable the feature, and click Update Default Library. LookInside downloads SwiftUI and SwiftUICore indexes from GitHub into local CSV storage.

  2. 2

    Import your module

    For your own app code, choose Import Module and point LookInside at the Swift source folder for that module. LookInside builds a CSV index from the source files and stores it locally under Application Support.

  3. 3

    Resolve unknown IDs

    When a selected object still shows a hash ID, open Discriminator Details. You can import from that codebase directly, or run swift-pd-guess to attempt a match. Enable Autosave to persist verified guesses for future sessions.

Source coverage

SwiftUI & SwiftUICoreUpdate Default Library
Your app moduleImport a local source folder
Unknown Swift hash IDGuess, verify, then autosave

Privacy note

Source folders stay on your Mac. LookInside stores generated CSV indexes locally under Application Support and does not send source paths or file contents to any server.