Pergunta divertida. Resposta curta:
sudo defaults write "/System/Library/CoreServices/Problem Reporter.app/Contents/Info" LSUIElement -bool false
Isso deve fazer com que o Problem Reporter apareça no Dock na próxima vez que for executado.
Como cheguei à resposta: quando ocorre uma falha, /System/Library/CoreServices/ReportCrash é executado por launchd de acordo com um dos com.apple.ReportCrash*.plist arquivos em /System/Library/Launch{Daemons,Agents}/ . Isso é responsável por gerar o relatório de falhas que você encontrará em [~]/Library/Logs/CrashReporter/ ou [~]/Library/Logs/DiagnosticReports .
Parece que o ReportCrash pode iniciar a exibição de uma caixa de diálogo similar à caixa de diálogo "Relatório de problema para o aplicativo" - contém a sequência "/System/Library/PrivateFrameworks/CrashReporterSupport.framework", que contém os recursos usados para localizar o texto exibido na janela de diálogo. Ele também contém chamadas para a API CFUserNotification . Mas o processo ReportCrash sai depois de um tempo, enquanto a caixa de diálogo continua a ser exibida. (A abordagem CFUserNotification provavelmente é um substituto no caso de _CROpenProblemReport , que tem a estrutura CrashReporterSupport private abrir o aplicativo que você está vendo, falhar.)
Adivinha o que continua correndo? %código%. Se você /System/Library/CoreServices/Problem\ Reporter.app este arquivo, a caixa de diálogo do relatório de problemas vem à tona. O motivo pelo qual você não pode ver isso na lista Dock ou Tabulação do Cmd é porque o arquivo Info.plist contém a entrada open .
Eu aposto que você pode fazer isso para que você possa vê-lo no Dock e no Cmd-Tab, alterando o valor de LSUIElement = 1 para LSUIElement in <false/> .