Xcode プラグインで通知を手当たり次第にキャッチしてみる
Xcode Plugin プログラミング
Xcode のプラグインを作っていて欲しい情報が得られない時に、通知を手当たり次第に探すみたいなことをしたりします。
その度に毎回、膨大な通知の中を探し回るのは辛かったので、とりあえず見つかった通知を全部テキストに起こしてみることにしました。
Xcode のプラグインと向き合っていると この情報が欲しいのに取れない みたいなことがよくあって、その度にクラス名を頼りに こちら で話したみたいに class-dump で抽出したヘッダーを探したり、とりあえず通知センターからの通知を全部拾って、それっぽい名前のものを見つけてみたりということをします。
特に通知は Xcode の様々な動きや状態変化を知る大事な突破口になったりするので重要ですけど、流れ来るすべての中から欲しいものを見つけ出そうとするのはけっこう苦しい作業です。
そこで、とりあえず作成中の Xcode プラグインを起動して、届いてきた全ての通知から通知名をテキストに取り出すことをしてみました。これでどれだけ自分が救われるのかは分かりませんけど。
見つかった通知の一覧
Xcode プラグインのプロジェクトを Xcode 7.3 でデバッグ起動して収集した結果、次のようになりました。
捕捉した通知を name
辞書順に並べつつ、通知に object
が添えられていれば、そのクラス名を添えてあります。同じ name
の通知に違う object
が添えられていた場合は、それらをカンマ区切りで並べてあります。
name | object |
---|---|
Active Workspace Tab Controller Changed Notification | IDEWorkspaceTabController |
CurrentExecutionTrackerCompletedNotification | IDEExecutionEnvironment |
DTDKDeviceAddedNotification | DTDKRemoteDeviceToken |
DTDKDeviceConnectionAddedNotification | DTDKRemoteDeviceToken |
DVTCertificateNotification_CertificatesChanged | DVTCertificateUtilities |
DVTDeviceUsabilityDidChangeNotification | DVTLocalComputer, DVTiOSDevice, DVTiOSDevicePlaceholder, DVTiPhonePlaceholder, DVTiPhoneSimulator |
DVTGlobalFindStringDidChangeNotification | DVTSharedFindState |
DVTGlobalReplaceStringDidChangeNotification | DVTSharedFindState |
DVTModelObjectGraphDidCoalesceChangesNotification | DVTModelObjectGraph |
DVTModelObjectGraphObjectsDidChangeNotificationName | DVTModelObjectGraph |
DVTModelObjectGraphWillCoalesceChangesNotification | DVTModelObjectGraph |
DVTProvisioningProfileManagerDidAdd | nil |
DVTProvisioningProfileManagerDidRemove | nil |
DVTSigningCertificateManagerCertificatesChangedNotification | DVTSigningCertificateManager |
DVTSourceExpressionSelectedExpressionDidChangeNotification | IDEPlaygroundEditor, IDESourceCodeEditor |
DVTSourceExpressionUnderMouseDidChangeNotification | IDEWorkspace |
DVTUndoManagerDidAddTopLevelChangeGroupNotification | DVTUndoManager |
DVTUndoManagerWasResetNotification | DVTUndoManager |
DVTUndoManagerWillEndUndoGroupingNotification | DVTUndoManager |
DVTWeakInterposerRepresentedObjectIsDeallocatingNotification | DVTAssertingWeakInterposer_ProxyHelperReference, DVTWeakInterposer_ProxyHelperReference |
ExecutionEnvironmentLastBuildCompletedNotification | IDEExecutionEnvironment |
IDEBlueprintsDidBulkChangeNotification | nil |
IDEBlueprintsDidChangeNotification | nil |
IDEBlueprintsWillBulkChangeNotification | nil |
IDEBuildIssueProviderUpdatedIssuesNotification | nil |
IDEBuildOperationDidGenerateOutputFilesNotification | IDEBuildOperation |
IDEBuildOperationDidStopNotification | IDEBuildOperation |
IDEBuildOperationWillStartNotification | IDEBuildOperation |
IDEContainerDidOpenContainerNotification | IDEFolder, IDEFramework, IDEPlayground, IDEPlaygroundPage, IDEWorkspace, Xcode3Project |
IDEControlGroupDidChangeNotificationName | IDEControlGroup |
IDEEditorAreaLastActiveEditorContextDidChangeNotification | IDEEditorArea |
IDEEditorDocumentDidChangeNotification | IDEPlaygroundDocument, IDESourceCodeDocument |
IDEEditorDocumentDidSaveNotification | IDEPlaygroundDocument |
IDEEditorDocumentHasEditsSinceLastUserInitiatedSaveStatusChangedNotification | IDEPlaygroundDocument |
IDEEditorDocumentIsEditedStatusDidChangeNotification | IDEPlaygroundDocument |
IDEEditorDocumentWillCloseNotification | DBGConsoleLogDocument, DBGGaugeCPUDocument, DBGGaugeMemoryDocument, DBGMemoryBrowserDocument, DBGViewDebuggerDocument, GPUDebuggerLogDocument, GPUReportDocument, GPUTraceDocument, GPUTraceResourcesDocument, IBICCatalogDocument, IBPreviewDocument, IBStoryboardDocument, IBXIBDocument, IDEAppleScriptDocument, IDEDataModelDocument, IDEDocViewerDocument, IDEEnergyAdditionDocument, IDEEnergyGaugeDocument, IDEFileIOGaugeReportDocument, IDEHexEditorDocument, IDELogDocument, IDEMappingModelDocument, IDENetworkIOGaugeReportDocument, IDEPDFViewerDocument, IDEPlaygroundDocument, IDEPlistDocument, IDEQuickLookDocument, IDERichTextDocument, IDEScriptingDefinitionDocument, IDESourceCodeDocument, IDETextDocumentFactoryDocument, IDEToyboxDocument, SKDocument, SKEAssetCatalogDocument, SKEParticleSystemDocument, SKESceneDocument, SKEShadableObjectDocument, XCSBotEditorDocument, XCSBotIntegrationDocument, XCSBotServiceDocument, XCSLegacyBotEditorDocument, Xcode3ProjectDocument, iCloudActivityDocument |
IDEEditorDocumentWillClose_ForNavigableItemCoordinatorEyesOnly_Notification | DBGConsoleLogDocument, DBGGaugeCPUDocument, DBGGaugeMemoryDocument, DBGMemoryBrowserDocument, DBGViewDebuggerDocument, GPUDebuggerLogDocument, GPUReportDocument, GPUTraceDocument, GPUTraceResourcesDocument, IBICCatalogDocument, IBPreviewDocument, IBStoryboardDocument, IBXIBDocument, IDEAppleScriptDocument, IDEDataModelDocument, IDEDocViewerDocument, IDEEnergyAdditionDocument, IDEEnergyGaugeDocument, IDEFileIOGaugeReportDocument, IDEHexEditorDocument, IDELogDocument, IDEMappingModelDocument, IDENetworkIOGaugeReportDocument, IDEPDFViewerDocument, IDEPlaygroundDocument, IDEPlistDocument, IDEQuickLookDocument, IDERichTextDocument, IDEScriptingDefinitionDocument, IDESourceCodeDocument, IDETextDocumentFactoryDocument, IDEToyboxDocument, SKDocument, SKEAssetCatalogDocument, SKEParticleSystemDocument, SKESceneDocument, SKEShadableObjectDocument, XCSBotEditorDocument, XCSBotIntegrationDocument, XCSBotServiceDocument, XCSLegacyBotEditorDocument, Xcode3ProjectDocument, iCloudActivityDocument |
IDEEditorDocumentWillSaveNotification | IDEPlaygroundDocument |
IDEIndexDidChangeNotification | IDEIndex |
IDEIndexDidChangeStateNotification | IDEIndex |
IDEIndexDidIndexWorkspaceNotification | IDEIndex |
IDEIndexIsIndexingWorkspaceNotification | IDEIndex |
IDEIndexProductInfoRegistered | IDEIndex |
IDEIndexProductInfoUpdated | IDEIndex |
IDEIndexWillIndexWorkspaceNotification | IDEIndex |
IDEIndexingPrebuildControllerBuildDidStopNotification | IDEIndexingPrebuildController |
IDEIntegrityLogDataSourceDidChangeNotification | IDEWorkspace, Xcode3Project, Xcode3Target |
IDEIssueManagerDidCoalesceIssuesNotification | IDEIssueManager |
IDEKeyBindingSetDidActivateNotification | IDEMenuKeyBindingSet, IDETextKeyBindingSet |
IDEKeyBindingSetWillActivateNotification | IDEMenuKeyBindingSet, IDETextKeyBindingSet |
IDENavigableItemCoordinatorArrangedObjectGraphChangeNotification | IDENavigableItemAsyncFilteringCoordinator, IDENavigableItemCoordinator, IDENavigableItemUniquingAsyncFilteringCoordinator |
IDENavigableItemCoordinatorDidForgetItemsNotification | IDENavigableItemCoordinator |
IDENavigableItemCoordinatorObjectGraphChangeNotification | IDENavigableItemAsyncFilteringCoordinator, IDENavigableItemCoordinator |
IDENavigableItemCoordinatorPropertyValuesChangeNotification | IDENavigableItemCoordinator, IDENavigableItemUniquingAsyncFilteringCoordinator |
IDENavigableItemCoordinatorWillForgetItemsNotification | IDENavigableItemCoordinator |
IDEPGAuxiliaryIssuesNotification | nil |
IDEPlaygroundAuxiliarySourceManagerDidCompleteCompiling | IDEPlaygroundAuxiliarySourceCompilationManager |
IDEPlaygroundAuxiliarySourceManagerWillBeginCompiling | IDEPlaygroundAuxiliarySourceCompilationManager |
IDEPlaygroundAuxiliarySourceModuleChangedNotification | IDEPlaygroundDocument |
IDEPlaygroundContextPagesDirectoryChangedNotification | IDEPlaygroundSharedContext |
IDEPlaygroundDidSelectToy | nil |
IDEPlaygroundLayoutManagerDidChangeSectionCharacterRangesNotification | IDEPlaygroundLayoutManager |
IDEPlaygroundResourcesSymlinkManagerDidSymlinkResources | IDEPlaygroundResourcesSymlinkManager |
IDESchemeActionRunnableDidChangeNotification | IDEBuildSchemeAction, IDELaunchSchemeAction |
IDESourceCodeDocumentDidUpdateSourceModelNotification | IDESourceCodeDocument |
IDESourceCodeEditorDidChangeLineSelectionNotification | IDEPlaygroundEditor, IDESourceCodeEditor |
IDESourceCodeEditorDidFinishSetup | IDEPlaygroundEditor, IDESourceCodeEditor |
IDESourceCodeEditorTextViewBoundsDidChangeNotification | IDESourceCodeEditor |
IDESourceControlDidScanWorkspaceNotification | IDESourceControlWorkspaceMonitor |
IDESourceControlIDEDidUpdateLocalStatusNotification | nil |
IDESourceControlIDEWillUpdateLocalStatusNotification | nil |
IDESourceControlWillScanWorkspaceNotification | IDESourceControlWorkspaceMonitor |
IDETextIndexDidBeginIndexingNotification | IDETextIndex |
IDETextIndexDidFinishIndexingNotification | IDETextIndex |
IDETextIndexIsIndexingNotification | IDETextIndex |
IDEVariablesViewDidHide | IDEVariablesViewOutlineView |
IDEVariablesViewDidUnhide | IDEVariablesViewOutlineView |
IDEWorkspaceBuildProductsLocationDidChangeNotification | IDEWorkspace |
IDEWorkspaceDocumentWillWriteStateDataNotification | IDEWorkspaceDocument |
IDEWorkspaceWindowToolbarVisibilityDidChangeNotifcation | IDEWorkspaceWindow |
NSAppleEventManagerWillProcessFirstEvent | NSAppleEventManager |
NSApplicationDidBecomeActiveNotification | IDEApplication |
NSApplicationDidChangeOcclusionStateNotification | IDEApplication |
NSApplicationDidChangeScreenParametersNotification | IDEApplication |
NSApplicationDidFinishLaunchingNotification | IDEApplication |
NSApplicationDidFinishRestoringWindowsNotification | IDEApplication |
NSApplicationDidResignActiveNotification | IDEApplication |
NSApplicationDidUpdateNotification | IDEApplication |
NSApplicationWillBecomeActiveNotification | IDEApplication |
NSApplicationWillResignActiveNotification | IDEApplication |
NSApplicationWillUpdateNotification | IDEApplication |
NSBundleDidLoadNotification | nil |
NSColorPanelColorDidChangeNotification | NSColorPanel |
NSControlTextDidEndEditingNotification | SCTSearchField, _DVTTableCellViewEditableTextField |
NSFileHandleDataAvailableNotification | NSConcreteFileHandle |
NSGestureEventMaskChanged | IDEApplication |
NSManagingContextDidSaveChangesNotification | NSManagedObjectContext |
NSManagingContextWillSaveChangesNotification | NSManagedObjectContext |
NSMenuDidAddItemNotification | NSMenu |
NSMenuDidBeginTrackingNotification | NSMenu |
NSMenuDidChangeItemNotification | NSMenu |
NSMenuDidCompleteInteractionNotification | NSMenu |
NSMenuDidEndTrackingNotification | NSMenu |
NSMenuDidRemoveAllItemsNotification | NSMenu |
NSMenuDidRemoveItemNotification | NSMenu |
NSMenuDidSendActionNotification | NSMenu |
NSMenuWillSendActionNotification | NSMenu |
NSOutlineViewColumnDidResizeNotification | IDENavigatorOutlineView, IDEVariablesViewOutlineView |
NSOutlineViewItemDidExpandNotification | IDENavigatorOutlineView |
NSOutlineViewItemWillExpandNotification | IDENavigatorOutlineView |
NSOutlineViewSelectionDidChangeNotification | IDENavigatorOutlineView |
NSPersistentStoreCoordinatorStoresDidChangeNotification | NSPersistentStoreCoordinator |
NSPersistentStoreCoordinatorWillRemoveStoreNotification | NSSQLCore |
NSPortDidBecomeInvalidNotification | NSMachPort |
NSProcessInfoThermalStateDidChangeNotification | NSProcessInfo |
NSScrollViewDidEndLiveScrollNotification | DVTSourceTextScrollView |
NSScrollViewDidLiveScrollNotification | DVTSourceTextScrollView |
NSScrollViewWillStartLiveScrollNotification | DVTSourceTextScrollView |
NSSegmentedCellSegmentShowingRolloverChangedNotification | _DVTSegmentedCell |
NSSplitViewDidAdjustSubviewsNotification | DVTSplitView |
NSSplitViewDidResizeSubviewsNotification | DVTSplitView |
NSSplitViewWillResizeSubviewsNotification | DVTSplitView |
NSTableViewColumnDidResizeNotification | DVTTableView |
NSTableViewSelectionDidChangeNotification | NSTableView |
NSTaskDidTerminateNotification | NSConcreteTask |
NSTextDidBeginEditingNotification | IDEPlaygroundTextView |
NSTextDidChangeNotification | IDEConsoleTextView |
NSTextDidEndEditingNotification | DVTSourceTextView, IDEConsoleTextView |
NSTextInputContextKeyboardSelectionDidChangeNotification | nil |
NSTextStorageDidProcessEditingNotification | DVTTextStorage, nil |
NSTextStorageWillProcessEditingNotification | DVTTextStorage, nil |
NSTextViewDidChangeSelectionNotification | DVTSourceTextView, IDEConsoleTextView, IDEPlaygroundTextView |
NSTextViewDidChangeTypingAttributesNotification | DVTSourceTextView, IDEConsoleTextView, IDEPlaygroundTextView |
NSTextViewWillChangeNotifyingTextViewNotification | nil |
NSThreadWillExitNotification | NSThread |
NSToolbarWillAddItemNotification | IDECustomToolbar, _NSColorPanelToolbar |
NSUndoManagerCheckpointNotification | DVTUndoManager |
NSUndoManagerDidCloseUndoGroupNotification | DVTUndoManager |
NSUndoManagerDidOpenUndoGroupNotification | DVTUndoManager |
NSUndoManagerWillCloseUndoGroupNotification | DVTUndoManager |
NSUserDefaultsDidChangeNotification | NSUserDefaults |
NSVBNotificationAllowAuxiliaryAppNap | nil |
NSVBNotificationPreventAuxiliaryAppNap | nil |
NSViewBoundsDidChangeNotification | NSClipView |
NSViewDidUpdateTrackingAreasNotification | DVTBorderedView, DVTChooserView, DVTControllerContentView_ControlledBy_IDEAssetTagsInspector, DVTControllerContentView_ControlledBy_IDEConsoleArea, DVTControllerContentView_ControlledBy_IDEContainerItemInspector, DVTControllerContentView_ControlledBy_IDEDebugBar, DVTControllerContentView_ControlledBy_IDEDefaultDebugArea, DVTControllerContentView_ControlledBy_IDEEditorArea, DVTControllerContentView_ControlledBy_IDEEditorBasicMode, DVTControllerContentView_ControlledBy_IDEEditorContext, DVTControllerContentView_ControlledBy_IDEEditorEmpty, DVTControllerContentView_ControlledBy_IDEInspectorViewController, DVTControllerContentView_ControlledBy_IDEPlaygroundDebugArea, DVTControllerContentView_ControlledBy_IDEPlaygroundEditor, DVTControllerContentView_ControlledBy_IDESourceCodeEditor, DVTControllerContentView_ControlledBy_IDESourceCodePlaygroundSectionViewController, DVTControllerContentView_ControlledBy_IDETextSettingsContainerInspectorController, DVTControllerContentView_ControlledBy_IDEVariablesView, DVTControllerContentView_ControlledBy_IDEWorkspaceTabController, DVTControllerContentView_ControlledBy_Xcode3TargetMembershipInspector, DVTDelayedMenuButton, DVTDelayedMenuGradientImageButton, DVTFilePathField, DVTGradientImageButton, DVTGradientImagePopUpButton, DVTGroupedTileView, DVTLayoutView_ML, DVTLozengeTextField, DVTMarkedScroller, DVTMessageBubbleView, DVTReplacementView, DVTScopeBarButton, DVTScopeBarView, DVTScrollView, DVTScrollView_ControlledBy_IDEStructureNavigator, DVTScrollableTabBarClipView, DVTScrollableTabBarView, DVTScrollableTabBarViewAccessoryButton, DVTSearchField, DVTSegmentedControl, DVTSourceTextScrollView, DVTSourceTextView, DVTSplitView, DVTTabBarEnclosureView, DVTTableCellViewMultiLine, DVTTableCellViewOneLine, DVTTableCellViewVibrantView, DVTTableRowView, DVTTableView, DVTTextSidebarView, IDEActionButton, IDEActivityView, IDEActivityViewBackgroundButton, IDEConsoleTextView, IDEControlGroup, IDEDebugAreaBorderedView, IDEEditorMenuStepperView, IDEFirstResponderView, IDEInspectorContentView, IDEInspectorResizableTextField, IDENavBar, IDENavigatorFilterControlBar, IDENavigatorOutlineView, IDENavigatorSCMStatusTextField, IDEPathControl, IDEPlaygroundSourceTextScrollView, IDEPlaygroundTextView, IDERunPauseContinueToolbarButton, IDESchemeToolbarBorderView, IDESourceCodeEditorContainerView, IDESourceCodePlaygroundSectionContainerView, IDEUtilityAreaDVTStackView_ML, IDEUtilityDisclosureHeaderView, IDEUtilityDisclosureView, IDEUtilityPlaceholderView, IDEVariablesViewOutlineView, InvisibleScroller, NSBox, NSButton, NSButtonTextField, NSClipView, NSColorPanelColorWell, NSColorPanelResizeDimple, NSColorPickerColorSpacePopUp, NSColorPickerSelectingTextField, NSColorScaleSlider, NSColorSwatch, NSImageView, NSImageViewContainerView, NSMatrix, NSPopUpButton, NSProgressIndicator, NSScrollView, NSScroller, NSSlider, NSStepper, NSTabView, NSTextField, NSThemeFrame, NSTitlebarContainerView, NSTitlebarView, NSTokenField, NSToolbarBaselineView, NSToolbarButton, NSToolbarItemViewer, NSView, NSView_ControlledBy_IDEInspectorArea, NSView_ControlledBy_IDEIssueNavigator, NSView_ControlledBy_IDELibraryArea, NSView_ControlledBy_SKEObjectLibraryController, NSVisualEffectView, NSVisualEffectView_ControlledBy_IDENavigatorArea, ScrollableTabBarMaskingContainerView, Xcode3EmbeddedScrollView, Xcode3TargetMembershipInspectorContentView, _DVTActionPullDownButton, _DVTScrollViewSeparatorView, _DVTTableCellViewEditableTextField, _DVTTableCellViewImageView, _DVTTableCellViewTextField, _IDEEditorStepperArrowButton, _IDESwipeAnimationHostView, _NSClipViewOverhangView, _NSThemeCloseWidget, _NSThemeWidget, _NSThemeZoomWidget, _NSToolbarFlexibleSpace, _NSToolbarItemViewerLabelView, _NSToolbarViewClipView, nil |
NSViewFrameDidChangeNotification | DVTBorderedView, DVTChooserView, DVTControllerContentView_ControlledBy_IDEAssetTagsInspector, DVTControllerContentView_ControlledBy_IDEConsoleArea, DVTControllerContentView_ControlledBy_IDEContainerItemInspector, DVTControllerContentView_ControlledBy_IDEDebugBar, DVTControllerContentView_ControlledBy_IDEDefaultDebugArea, DVTControllerContentView_ControlledBy_IDEEditorArea, DVTControllerContentView_ControlledBy_IDEEditorBasicMode, DVTControllerContentView_ControlledBy_IDEEditorContext, DVTControllerContentView_ControlledBy_IDEEditorEmpty, DVTControllerContentView_ControlledBy_IDEInspectorViewController, DVTControllerContentView_ControlledBy_IDEPlaygroundDebugArea, DVTControllerContentView_ControlledBy_IDEPlaygroundEditor, DVTControllerContentView_ControlledBy_IDESourceCodeEditor, DVTControllerContentView_ControlledBy_IDESourceCodePlaygroundSectionAnnotationViewController, DVTControllerContentView_ControlledBy_IDESourceCodePlaygroundSectionViewController, DVTControllerContentView_ControlledBy_IDETextSettingsContainerInspectorController, DVTControllerContentView_ControlledBy_IDEVariablesView, DVTControllerContentView_ControlledBy_IDEWorkspaceTabController, DVTControllerContentView_ControlledBy_Xcode3TargetMembershipInspector, DVTDelayedMenuButton, DVTDelayedMenuGradientImageButton, DVTFilePathField, DVTGradientImageButton, DVTGradientImagePopUpButton, DVTGroupedTileView, DVTLayoutView_ML, DVTLozengeTextField, DVTMarkedScroller, DVTMessageBubbleView, DVTReplacementView, DVTRolloverImageButton, DVTScopeBarButton, DVTScopeBarView, DVTScrollView, DVTScrollView_ControlledBy_IDEStructureNavigator, DVTScrollableTabBarClipView, DVTScrollableTabBarView, DVTScrollableTabBarViewAccessoryButton, DVTScrollableTabButton, DVTSearchField, DVTSegmentedControl, DVTSourceTextScrollView, DVTSourceTextView, DVTSplitView, DVTStepperTextField, DVTTabBarEnclosureView, DVTTableCellViewMultiLine, DVTTableCellViewOneLine, DVTTableCellViewVibrantView, DVTTableRowView, DVTTableView, DVTTextSidebarView, IDEActionButton, IDEActivityView, IDEActivityViewBackgroundButton, IDEConsoleTextView, IDEControlGroup, IDEDebugAreaBorderedView, IDEEditorMenuStepperView, IDEFirstResponderView, IDEInspectorContentView, IDEInspectorResizableTextField, IDENavBar, IDENavigatorFilterControlBar, IDENavigatorOutlineView, IDENavigatorSCMStatusTextField, IDEPathControl, IDEPlaygroundSourceTextScrollView, IDEPlaygroundTextView, IDERunPauseContinueToolbarButton, IDESchemeToolbarBorderView, IDESourceCodeEditorContainerView, IDESourceCodePlaygroundSectionContainerView, IDEUtilityAreaDVTStackView_ML, IDEUtilityDisclosureHeaderView, IDEUtilityDisclosureView, IDEUtilityPlaceholderView, IDEVariablesViewOutlineView, InvisibleScroller, NSBox, NSButton, NSButtonTextField, NSClipView, NSColorPanelColorWell, NSColorPanelResizeDimple, NSColorPickerColorSpacePopUp, NSColorPickerSelectingTextField, NSColorScaleSlider, NSColorSwatch, NSImageView, NSMatrix, NSPopUpButton, NSProgressIndicator, NSScrollView, NSScroller, NSSlider, NSStepper, NSTabView, NSTextField, NSThemeFrame, NSTitlebarContainerView, NSTitlebarView, NSTokenField, NSToolbarBaselineView, NSToolbarButton, NSToolbarClippedItemsIndicator, NSToolbarItemViewer, NSView, NSView_ControlledBy_IDEInspectorArea, NSView_ControlledBy_IDEIssueNavigator, NSView_ControlledBy_IDELibraryArea, NSView_ControlledBy_SKEObjectLibraryController, NSVisualEffectView, NSVisualEffectView_ControlledBy_IDENavigatorArea, ScrollableTabBarMaskingContainerView, Xcode3EmbeddedScrollView, Xcode3TargetMembershipInspectorContentView, _DVTActionPullDownButton, _DVTScrollViewSeparatorView, _DVTTableCellViewEditableTextField, _DVTTableCellViewImageView, _DVTTableCellViewTextField, _IDEEditorStepperArrowButton, _IDESourceCodePlaygroundSectionAnnotationView, _IDESwipeAnimationHostView, _NSClipViewOverhangView, _NSThemeCloseWidget, _NSThemeWidget, _NSThemeZoomWidget, _NSToolbarFlexibleSpace, _NSToolbarViewClipView, nil |
NSWindowBackgroundGradientDidChangeNotification | NSColorPanel |
NSWindowDidBecomeKeyNotification | IDEWorkspaceWindow |
NSWindowDidBecomeMainNotification | IDEWorkspaceWindow |
NSWindowDidChangeBackingPropertiesNotification | NSCarbonMenuWindow |
NSWindowDidChangeOcclusionStateNotification | IDEWorkspaceWindow, NSWindow |
NSWindowDidChangeResolutionNotification | NSCarbonMenuWindow |
NSWindowDidChangeScreenNotification | IDEWorkspaceWindow |
NSWindowDidCloseNotification | DVTTextCompletionWindow, NSWindow |
NSWindowDidMoveNotification | IDEWorkspaceWindow |
NSWindowDidOrderOffScreenAndFinishAnimatingNotification | DVTTextCompletionWindow, NSWindow |
NSWindowDidOrderOffScreenNotification | DVTTextCompletionWindow, NSWindow |
NSWindowDidOrderOnScreenAndFinishAnimatingNotification | IDEWorkspaceWindow |
NSWindowDidResignKeyNotification | IDEWorkspaceWindow |
NSWindowDidResignMainNotification | IDEWorkspaceWindow |
NSWindowDidResizeNotification | IDEWorkspaceWindow, NSColorPanel |
NSWindowDidUpdateNotification | IDEWorkspaceWindow |
NSWindowWillCloseNotification | DVTTextCompletionWindow, NSWindow |
NSWindowWillMoveNotification | IDEWorkspaceWindow |
NSWindowWillOrderOffScreenNotification | DVTTextCompletionWindow, NSWindow |
PBXProjectDidOpenNotification | PBXProject |
PBXTargetBuildSettingsDidChangeNotification | PBXNativeTarget |
PBXTargetProductReferenceDidChangeNotification | PBXNativeTarget |
PBXUnarchiverDidFinishUnarchivingNotification | PBXPListUnarchiver |
XCBuildContextDidCreateDependencyGraphNotification | nil |
XCBuildContextDidFinishSettingTargetSnapshotNotification | nil |
XCProfileChangeEventNotification | nil |
XCPropertyInfoContext_DictionaryWasAdded | XCPropertyInfoContext |
XCPropertyInfoContext_WillBeDiscardedNotification | XCPropertyInfoContext |
_NSPersistentStoreCoordinatorStoresDidChangePrivateNotification | NSPersistentStoreCoordinator |
_NSSQLCoreTransactionStateChangeNotification | NSSQLCore |
_NSThreadDidStartNotification | NSThread |
_NSWindowDidBecomeVisible | IDEWorkspaceWindow |
_NSWindowDidChangeWindowNumber | IDEWorkspaceWindow, NSColorPanel, NSWindow |
_NSWindowWillBecomeVisible | IDEWorkspaceWindow |
_NSWindowWillChangeWindowNumber | IDEWorkspaceWindow, NSColorPanel, NSWindow |
kC3DNotificationEngineContextInvalidatePasses | nil |
kNotificationGeometryWillDie | C3DGeometry |
kNotificationMeshSourceWillDie | nil |
kNotificationMeshWillDie | nil |
通知の収集後記
せっかくなので参考に、上記の通知一覧を作った流れを記載しておきます。
通知をログに記録
通知をログに記録するために、プラグインを制御するクラスのイニシャライザで、次のようにしてみました。
- (id)init
{
self = [super init];
if (self)
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveAnyNotification:) name:nil object:nil];
}
return self;
}
- (void)receiveAnyNotification:(NSNotification*)sender
{
NSLog(@"Receive : %@", sender);
}
通知センターに登録する際に name
と object
を nil
で指定することで、手当たり次第に受け取るようにします。そして通知を受け取った時に Receive :
に続けて通知の内容をログ出力しています。
ログから名前を抽出
そうして Xcode プラグインをデバッグ起動してしばらくログ出力をしたら、そんな Xcode のコンソールログを丸ごとテキストファイルに保存した上で、次の Perl スクリプトに通して名前を抽出します。この時、実行時に不要な通知をフィルターするために使えるように Objective-C の配列リテラルに書式を合わせてみました。
#!/usr/bin/perl
use strict;
my %notifications = ();
open(SOURCE, '<NotificationNames.PickupSource.txt');
open(RESULT, '>NotificationNames.out.txt');
while (<SOURCE>)
{
if (/Receive : .*\s*{name\s*=\s*([\w ]*)\s*(?:;\s*object\s*=\s*<(\w+):|)/)
{
my $name = $1;
my $object = $2 || 'nil';
$notifications{$name} = [] if (!exists($notifications{$name}));
push @{$notifications{$name}}, $object;
}
}
my @names = sort { $a cmp $b } keys(%notifications);
my @definitions = ();
for my $name (@names)
{
$notifications{$name} = [ keys %{{ map {$_ => 1} @{$notifications{$name}} }} ];
push @definitions, "@\"$name\", // object = " . join(', ', @{$notifications{$name}});
}
print RESULT "@[\n";
print RESULT join("\n", @definitions);
print RESULT "\n]\n";
close RESULT;
close SOURCE;
通知をフィルタリング
そうしてできたリテラルを元に、先ほどの receiveAnyNotification:メソッド を改良して、とりあえず見つかった全ての通知をログ出力しないようにしてみました。長いですが、とりあえずこんなコードを記載してそれっぽい名前のところをコメントアウトすることで、それに関する通知はフィルタリングされないようになります。
- (void)receiveAnyNotification:(NSNotification*)sender {
NSArray<NSString*> *ignoreNames =
@[
@"Active Workspace Tab Controller Changed Notification", // object = IDEWorkspaceTabController
@"CurrentExecutionTrackerCompletedNotification", // object = IDEExecutionEnvironment
@"DTDKDeviceAddedNotification", // object = DTDKRemoteDeviceToken
@"DTDKDeviceConnectionAddedNotification", // object = DTDKRemoteDeviceToken
@"DVTCertificateNotification_CertificatesChanged", // object = DVTCertificateUtilities
@"DVTDeviceUsabilityDidChangeNotification", // object = DVTLocalComputer, DVTiOSDevice, DVTiOSDevicePlaceholder, DVTiPhonePlaceholder, DVTiPhoneSimulator
@"DVTGlobalFindStringDidChangeNotification", // object = DVTSharedFindState
@"DVTGlobalReplaceStringDidChangeNotification", // object = DVTSharedFindState
@"DVTModelObjectGraphDidCoalesceChangesNotification", // object = DVTModelObjectGraph
@"DVTModelObjectGraphObjectsDidChangeNotificationName", // object = DVTModelObjectGraph
@"DVTModelObjectGraphWillCoalesceChangesNotification", // object = DVTModelObjectGraph
@"DVTProvisioningProfileManagerDidAdd", // object = nil
@"DVTProvisioningProfileManagerDidRemove", // object = nil
@"DVTSigningCertificateManagerCertificatesChangedNotification", // object = DVTSigningCertificateManager
@"DVTSourceExpressionSelectedExpressionDidChangeNotification", // object = IDEPlaygroundEditor, IDESourceCodeEditor
@"DVTSourceExpressionUnderMouseDidChangeNotification", // object = IDEWorkspace
@"DVTUndoManagerDidAddTopLevelChangeGroupNotification", // object = DVTUndoManager
@"DVTUndoManagerWasResetNotification", // object = DVTUndoManager
@"DVTUndoManagerWillEndUndoGroupingNotification", // object = DVTUndoManager
@"DVTWeakInterposerRepresentedObjectIsDeallocatingNotification", // object = DVTAssertingWeakInterposer_ProxyHelperReference, DVTWeakInterposer_ProxyHelperReference
@"ExecutionEnvironmentLastBuildCompletedNotification", // object = IDEExecutionEnvironment
@"IDEBlueprintsDidBulkChangeNotification", // object = nil
@"IDEBlueprintsDidChangeNotification", // object = nil
@"IDEBlueprintsWillBulkChangeNotification", // object = nil
@"IDEBuildIssueProviderUpdatedIssuesNotification", // object = nil
@"IDEBuildOperationDidGenerateOutputFilesNotification", // object = IDEBuildOperation
@"IDEBuildOperationDidStopNotification", // object = IDEBuildOperation
@"IDEBuildOperationWillStartNotification", // object = IDEBuildOperation
@"IDEContainerDidOpenContainerNotification", // object = IDEFolder, IDEFramework, IDEPlayground, IDEPlaygroundPage, IDEWorkspace, Xcode3Project
@"IDEControlGroupDidChangeNotificationName", // object = IDEControlGroup
@"IDEEditorAreaLastActiveEditorContextDidChangeNotification", // object = IDEEditorArea
@"IDEEditorDocumentDidChangeNotification", // object = IDEPlaygroundDocument, IDESourceCodeDocument
@"IDEEditorDocumentDidSaveNotification", // object = IDEPlaygroundDocument
@"IDEEditorDocumentHasEditsSinceLastUserInitiatedSaveStatusChangedNotification", // object = IDEPlaygroundDocument
@"IDEEditorDocumentIsEditedStatusDidChangeNotification", // object = IDEPlaygroundDocument
@"IDEEditorDocumentWillCloseNotification", // object = DBGConsoleLogDocument, DBGGaugeCPUDocument, DBGGaugeMemoryDocument, DBGMemoryBrowserDocument, DBGViewDebuggerDocument, GPUDebuggerLogDocument, GPUReportDocument, GPUTraceDocument, GPUTraceResourcesDocument, IBICCatalogDocument, IBPreviewDocument, IBStoryboardDocument, IBXIBDocument, IDEAppleScriptDocument, IDEDataModelDocument, IDEDocViewerDocument, IDEEnergyAdditionDocument, IDEEnergyGaugeDocument, IDEFileIOGaugeReportDocument, IDEHexEditorDocument, IDELogDocument, IDEMappingModelDocument, IDENetworkIOGaugeReportDocument, IDEPDFViewerDocument, IDEPlaygroundDocument, IDEPlistDocument, IDEQuickLookDocument, IDERichTextDocument, IDEScriptingDefinitionDocument, IDESourceCodeDocument, IDETextDocumentFactoryDocument, IDEToyboxDocument, SKDocument, SKEAssetCatalogDocument, SKEParticleSystemDocument, SKESceneDocument, SKEShadableObjectDocument, XCSBotEditorDocument, XCSBotIntegrationDocument, XCSBotServiceDocument, XCSLegacyBotEditorDocument, Xcode3ProjectDocument, iCloudActivityDocument
@"IDEEditorDocumentWillClose_ForNavigableItemCoordinatorEyesOnly_Notification", // object = DBGConsoleLogDocument, DBGGaugeCPUDocument, DBGGaugeMemoryDocument, DBGMemoryBrowserDocument, DBGViewDebuggerDocument, GPUDebuggerLogDocument, GPUReportDocument, GPUTraceDocument, GPUTraceResourcesDocument, IBICCatalogDocument, IBPreviewDocument, IBStoryboardDocument, IBXIBDocument, IDEAppleScriptDocument, IDEDataModelDocument, IDEDocViewerDocument, IDEEnergyAdditionDocument, IDEEnergyGaugeDocument, IDEFileIOGaugeReportDocument, IDEHexEditorDocument, IDELogDocument, IDEMappingModelDocument, IDENetworkIOGaugeReportDocument, IDEPDFViewerDocument, IDEPlaygroundDocument, IDEPlistDocument, IDEQuickLookDocument, IDERichTextDocument, IDEScriptingDefinitionDocument, IDESourceCodeDocument, IDETextDocumentFactoryDocument, IDEToyboxDocument, SKDocument, SKEAssetCatalogDocument, SKEParticleSystemDocument, SKESceneDocument, SKEShadableObjectDocument, XCSBotEditorDocument, XCSBotIntegrationDocument, XCSBotServiceDocument, XCSLegacyBotEditorDocument, Xcode3ProjectDocument, iCloudActivityDocument
@"IDEEditorDocumentWillSaveNotification", // object = IDEPlaygroundDocument
@"IDEIndexDidChangeNotification", // object = IDEIndex
@"IDEIndexDidChangeStateNotification", // object = IDEIndex
@"IDEIndexDidIndexWorkspaceNotification", // object = IDEIndex
@"IDEIndexIsIndexingWorkspaceNotification", // object = IDEIndex
@"IDEIndexProductInfoRegistered", // object = IDEIndex
@"IDEIndexProductInfoUpdated", // object = IDEIndex
@"IDEIndexWillIndexWorkspaceNotification", // object = IDEIndex
@"IDEIndexingPrebuildControllerBuildDidStopNotification", // object = IDEIndexingPrebuildController
@"IDEIntegrityLogDataSourceDidChangeNotification", // object = IDEWorkspace, Xcode3Project, Xcode3Target
@"IDEIssueManagerDidCoalesceIssuesNotification", // object = IDEIssueManager
@"IDEKeyBindingSetDidActivateNotification", // object = IDEMenuKeyBindingSet, IDETextKeyBindingSet
@"IDEKeyBindingSetWillActivateNotification", // object = IDEMenuKeyBindingSet, IDETextKeyBindingSet
@"IDENavigableItemCoordinatorArrangedObjectGraphChangeNotification", // object = IDENavigableItemAsyncFilteringCoordinator, IDENavigableItemCoordinator, IDENavigableItemUniquingAsyncFilteringCoordinator
@"IDENavigableItemCoordinatorDidForgetItemsNotification", // object = IDENavigableItemCoordinator
@"IDENavigableItemCoordinatorObjectGraphChangeNotification", // object = IDENavigableItemAsyncFilteringCoordinator, IDENavigableItemCoordinator
@"IDENavigableItemCoordinatorPropertyValuesChangeNotification", // object = IDENavigableItemCoordinator, IDENavigableItemUniquingAsyncFilteringCoordinator
@"IDENavigableItemCoordinatorWillForgetItemsNotification", // object = IDENavigableItemCoordinator
@"IDEPGAuxiliaryIssuesNotification", // object = nil
@"IDEPlaygroundAuxiliarySourceManagerDidCompleteCompiling", // object = IDEPlaygroundAuxiliarySourceCompilationManager
@"IDEPlaygroundAuxiliarySourceManagerWillBeginCompiling", // object = IDEPlaygroundAuxiliarySourceCompilationManager
@"IDEPlaygroundAuxiliarySourceModuleChangedNotification", // object = IDEPlaygroundDocument
@"IDEPlaygroundContextPagesDirectoryChangedNotification", // object = IDEPlaygroundSharedContext
@"IDEPlaygroundDidSelectToy", // object = nil
@"IDEPlaygroundLayoutManagerDidChangeSectionCharacterRangesNotification", // object = IDEPlaygroundLayoutManager
@"IDEPlaygroundResourcesSymlinkManagerDidSymlinkResources", // object = IDEPlaygroundResourcesSymlinkManager
@"IDESchemeActionRunnableDidChangeNotification", // object = IDEBuildSchemeAction, IDELaunchSchemeAction
@"IDESourceCodeDocumentDidUpdateSourceModelNotification", // object = IDESourceCodeDocument
@"IDESourceCodeEditorDidChangeLineSelectionNotification", // object = IDEPlaygroundEditor, IDESourceCodeEditor
@"IDESourceCodeEditorDidFinishSetup", // object = IDEPlaygroundEditor, IDESourceCodeEditor
@"IDESourceCodeEditorTextViewBoundsDidChangeNotification", // object = IDESourceCodeEditor
@"IDESourceControlDidScanWorkspaceNotification", // object = IDESourceControlWorkspaceMonitor
@"IDESourceControlIDEDidUpdateLocalStatusNotification", // object = nil
@"IDESourceControlIDEWillUpdateLocalStatusNotification", // object = nil
@"IDESourceControlWillScanWorkspaceNotification", // object = IDESourceControlWorkspaceMonitor
@"IDETextIndexDidBeginIndexingNotification", // object = IDETextIndex
@"IDETextIndexDidFinishIndexingNotification", // object = IDETextIndex
@"IDETextIndexIsIndexingNotification", // object = IDETextIndex
@"IDEVariablesViewDidHide", // object = IDEVariablesViewOutlineView
@"IDEVariablesViewDidUnhide", // object = IDEVariablesViewOutlineView
@"IDEWorkspaceBuildProductsLocationDidChangeNotification", // object = IDEWorkspace
@"IDEWorkspaceDocumentWillWriteStateDataNotification", // object = IDEWorkspaceDocument
@"IDEWorkspaceWindowToolbarVisibilityDidChangeNotifcation", // object = IDEWorkspaceWindow
@"NSAppleEventManagerWillProcessFirstEvent", // object = NSAppleEventManager
@"NSApplicationDidBecomeActiveNotification", // object = IDEApplication
@"NSApplicationDidChangeOcclusionStateNotification", // object = IDEApplication
@"NSApplicationDidChangeScreenParametersNotification", // object = IDEApplication
@"NSApplicationDidFinishLaunchingNotification", // object = IDEApplication
@"NSApplicationDidFinishRestoringWindowsNotification", // object = IDEApplication
@"NSApplicationDidResignActiveNotification", // object = IDEApplication
@"NSApplicationDidUpdateNotification", // object = IDEApplication
@"NSApplicationWillBecomeActiveNotification", // object = IDEApplication
@"NSApplicationWillResignActiveNotification", // object = IDEApplication
@"NSApplicationWillUpdateNotification", // object = IDEApplication
@"NSBundleDidLoadNotification", // object = nil
@"NSColorPanelColorDidChangeNotification", // object = NSColorPanel
@"NSControlTextDidEndEditingNotification", // object = SCTSearchField, _DVTTableCellViewEditableTextField
@"NSFileHandleDataAvailableNotification", // object = NSConcreteFileHandle
@"NSGestureEventMaskChanged", // object = IDEApplication
@"NSManagingContextDidSaveChangesNotification", // object = NSManagedObjectContext
@"NSManagingContextWillSaveChangesNotification", // object = NSManagedObjectContext
@"NSMenuDidAddItemNotification", // object = NSMenu
@"NSMenuDidBeginTrackingNotification", // object = NSMenu
@"NSMenuDidChangeItemNotification", // object = NSMenu
@"NSMenuDidCompleteInteractionNotification", // object = NSMenu
@"NSMenuDidEndTrackingNotification", // object = NSMenu
@"NSMenuDidRemoveAllItemsNotification", // object = NSMenu
@"NSMenuDidRemoveItemNotification", // object = NSMenu
@"NSMenuDidSendActionNotification", // object = NSMenu
@"NSMenuWillSendActionNotification", // object = NSMenu
@"NSOutlineViewColumnDidResizeNotification", // object = IDENavigatorOutlineView, IDEVariablesViewOutlineView
@"NSOutlineViewItemDidExpandNotification", // object = IDENavigatorOutlineView
@"NSOutlineViewItemWillExpandNotification", // object = IDENavigatorOutlineView
@"NSOutlineViewSelectionDidChangeNotification", // object = IDENavigatorOutlineView
@"NSPersistentStoreCoordinatorStoresDidChangeNotification", // object = NSPersistentStoreCoordinator
@"NSPersistentStoreCoordinatorWillRemoveStoreNotification", // object = NSSQLCore
@"NSPortDidBecomeInvalidNotification", // object = NSMachPort
@"NSProcessInfoThermalStateDidChangeNotification", // object = NSProcessInfo
@"NSScrollViewDidEndLiveScrollNotification", // object = DVTSourceTextScrollView
@"NSScrollViewDidLiveScrollNotification", // object = DVTSourceTextScrollView
@"NSScrollViewWillStartLiveScrollNotification", // object = DVTSourceTextScrollView
@"NSSegmentedCellSegmentShowingRolloverChangedNotification", // object = _DVTSegmentedCell
@"NSSplitViewDidAdjustSubviewsNotification", // object = DVTSplitView
@"NSSplitViewDidResizeSubviewsNotification", // object = DVTSplitView
@"NSSplitViewWillResizeSubviewsNotification", // object = DVTSplitView
@"NSTableViewColumnDidResizeNotification", // object = DVTTableView
@"NSTableViewSelectionDidChangeNotification", // object = NSTableView
@"NSTaskDidTerminateNotification", // object = NSConcreteTask
@"NSTextDidBeginEditingNotification", // object = IDEPlaygroundTextView
@"NSTextDidChangeNotification", // object = IDEConsoleTextView
@"NSTextDidEndEditingNotification", // object = DVTSourceTextView, IDEConsoleTextView
@"NSTextInputContextKeyboardSelectionDidChangeNotification", // object = nil
@"NSTextStorageDidProcessEditingNotification", // object = DVTTextStorage, nil
@"NSTextStorageWillProcessEditingNotification", // object = DVTTextStorage, nil
@"NSTextViewDidChangeSelectionNotification", // object = DVTSourceTextView, IDEConsoleTextView, IDEPlaygroundTextView
@"NSTextViewDidChangeTypingAttributesNotification", // object = DVTSourceTextView, IDEConsoleTextView, IDEPlaygroundTextView
@"NSTextViewWillChangeNotifyingTextViewNotification", // object = nil
@"NSThreadWillExitNotification", // object = NSThread
@"NSToolbarWillAddItemNotification", // object = IDECustomToolbar, _NSColorPanelToolbar
@"NSUndoManagerCheckpointNotification", // object = DVTUndoManager
@"NSUndoManagerDidCloseUndoGroupNotification", // object = DVTUndoManager
@"NSUndoManagerDidOpenUndoGroupNotification", // object = DVTUndoManager
@"NSUndoManagerWillCloseUndoGroupNotification", // object = DVTUndoManager
@"NSUserDefaultsDidChangeNotification", // object = NSUserDefaults
@"NSVBNotificationAllowAuxiliaryAppNap", // object = nil
@"NSVBNotificationPreventAuxiliaryAppNap", // object = nil
@"NSViewBoundsDidChangeNotification", // object = NSClipView
@"NSViewDidUpdateTrackingAreasNotification", // object = DVTBorderedView, DVTChooserView, DVTControllerContentView_ControlledBy_IDEAssetTagsInspector, DVTControllerContentView_ControlledBy_IDEConsoleArea, DVTControllerContentView_ControlledBy_IDEContainerItemInspector, DVTControllerContentView_ControlledBy_IDEDebugBar, DVTControllerContentView_ControlledBy_IDEDefaultDebugArea, DVTControllerContentView_ControlledBy_IDEEditorArea, DVTControllerContentView_ControlledBy_IDEEditorBasicMode, DVTControllerContentView_ControlledBy_IDEEditorContext, DVTControllerContentView_ControlledBy_IDEEditorEmpty, DVTControllerContentView_ControlledBy_IDEInspectorViewController, DVTControllerContentView_ControlledBy_IDEPlaygroundDebugArea, DVTControllerContentView_ControlledBy_IDEPlaygroundEditor, DVTControllerContentView_ControlledBy_IDESourceCodeEditor, DVTControllerContentView_ControlledBy_IDESourceCodePlaygroundSectionViewController, DVTControllerContentView_ControlledBy_IDETextSettingsContainerInspectorController, DVTControllerContentView_ControlledBy_IDEVariablesView, DVTControllerContentView_ControlledBy_IDEWorkspaceTabController, DVTControllerContentView_ControlledBy_Xcode3TargetMembershipInspector, DVTDelayedMenuButton, DVTDelayedMenuGradientImageButton, DVTFilePathField, DVTGradientImageButton, DVTGradientImagePopUpButton, DVTGroupedTileView, DVTLayoutView_ML, DVTLozengeTextField, DVTMarkedScroller, DVTMessageBubbleView, DVTReplacementView, DVTScopeBarButton, DVTScopeBarView, DVTScrollView, DVTScrollView_ControlledBy_IDEStructureNavigator, DVTScrollableTabBarClipView, DVTScrollableTabBarView, DVTScrollableTabBarViewAccessoryButton, DVTSearchField, DVTSegmentedControl, DVTSourceTextScrollView, DVTSourceTextView, DVTSplitView, DVTTabBarEnclosureView, DVTTableCellViewMultiLine, DVTTableCellViewOneLine, DVTTableCellViewVibrantView, DVTTableRowView, DVTTableView, DVTTextSidebarView, IDEActionButton, IDEActivityView, IDEActivityViewBackgroundButton, IDEConsoleTextView, IDEControlGroup, IDEDebugAreaBorderedView, IDEEditorMenuStepperView, IDEFirstResponderView, IDEInspectorContentView, IDEInspectorResizableTextField, IDENavBar, IDENavigatorFilterControlBar, IDENavigatorOutlineView, IDENavigatorSCMStatusTextField, IDEPathControl, IDEPlaygroundSourceTextScrollView, IDEPlaygroundTextView, IDERunPauseContinueToolbarButton, IDESchemeToolbarBorderView, IDESourceCodeEditorContainerView, IDESourceCodePlaygroundSectionContainerView, IDEUtilityAreaDVTStackView_ML, IDEUtilityDisclosureHeaderView, IDEUtilityDisclosureView, IDEUtilityPlaceholderView, IDEVariablesViewOutlineView, InvisibleScroller, NSBox, NSButton, NSButtonTextField, NSClipView, NSColorPanelColorWell, NSColorPanelResizeDimple, NSColorPickerColorSpacePopUp, NSColorPickerSelectingTextField, NSColorScaleSlider, NSColorSwatch, NSImageView, NSImageViewContainerView, NSMatrix, NSPopUpButton, NSProgressIndicator, NSScrollView, NSScroller, NSSlider, NSStepper, NSTabView, NSTextField, NSThemeFrame, NSTitlebarContainerView, NSTitlebarView, NSTokenField, NSToolbarBaselineView, NSToolbarButton, NSToolbarItemViewer, NSView, NSView_ControlledBy_IDEInspectorArea, NSView_ControlledBy_IDEIssueNavigator, NSView_ControlledBy_IDELibraryArea, NSView_ControlledBy_SKEObjectLibraryController, NSVisualEffectView, NSVisualEffectView_ControlledBy_IDENavigatorArea, ScrollableTabBarMaskingContainerView, Xcode3EmbeddedScrollView, Xcode3TargetMembershipInspectorContentView, _DVTActionPullDownButton, _DVTScrollViewSeparatorView, _DVTTableCellViewEditableTextField, _DVTTableCellViewImageView, _DVTTableCellViewTextField, _IDEEditorStepperArrowButton, _IDESwipeAnimationHostView, _NSClipViewOverhangView, _NSThemeCloseWidget, _NSThemeWidget, _NSThemeZoomWidget, _NSToolbarFlexibleSpace, _NSToolbarItemViewerLabelView, _NSToolbarViewClipView, nil
@"NSViewFrameDidChangeNotification", // object = DVTBorderedView, DVTChooserView, DVTControllerContentView_ControlledBy_IDEAssetTagsInspector, DVTControllerContentView_ControlledBy_IDEConsoleArea, DVTControllerContentView_ControlledBy_IDEContainerItemInspector, DVTControllerContentView_ControlledBy_IDEDebugBar, DVTControllerContentView_ControlledBy_IDEDefaultDebugArea, DVTControllerContentView_ControlledBy_IDEEditorArea, DVTControllerContentView_ControlledBy_IDEEditorBasicMode, DVTControllerContentView_ControlledBy_IDEEditorContext, DVTControllerContentView_ControlledBy_IDEEditorEmpty, DVTControllerContentView_ControlledBy_IDEInspectorViewController, DVTControllerContentView_ControlledBy_IDEPlaygroundDebugArea, DVTControllerContentView_ControlledBy_IDEPlaygroundEditor, DVTControllerContentView_ControlledBy_IDESourceCodeEditor, DVTControllerContentView_ControlledBy_IDESourceCodePlaygroundSectionAnnotationViewController, DVTControllerContentView_ControlledBy_IDESourceCodePlaygroundSectionViewController, DVTControllerContentView_ControlledBy_IDETextSettingsContainerInspectorController, DVTControllerContentView_ControlledBy_IDEVariablesView, DVTControllerContentView_ControlledBy_IDEWorkspaceTabController, DVTControllerContentView_ControlledBy_Xcode3TargetMembershipInspector, DVTDelayedMenuButton, DVTDelayedMenuGradientImageButton, DVTFilePathField, DVTGradientImageButton, DVTGradientImagePopUpButton, DVTGroupedTileView, DVTLayoutView_ML, DVTLozengeTextField, DVTMarkedScroller, DVTMessageBubbleView, DVTReplacementView, DVTRolloverImageButton, DVTScopeBarButton, DVTScopeBarView, DVTScrollView, DVTScrollView_ControlledBy_IDEStructureNavigator, DVTScrollableTabBarClipView, DVTScrollableTabBarView, DVTScrollableTabBarViewAccessoryButton, DVTScrollableTabButton, DVTSearchField, DVTSegmentedControl, DVTSourceTextScrollView, DVTSourceTextView, DVTSplitView, DVTStepperTextField, DVTTabBarEnclosureView, DVTTableCellViewMultiLine, DVTTableCellViewOneLine, DVTTableCellViewVibrantView, DVTTableRowView, DVTTableView, DVTTextSidebarView, IDEActionButton, IDEActivityView, IDEActivityViewBackgroundButton, IDEConsoleTextView, IDEControlGroup, IDEDebugAreaBorderedView, IDEEditorMenuStepperView, IDEFirstResponderView, IDEInspectorContentView, IDEInspectorResizableTextField, IDENavBar, IDENavigatorFilterControlBar, IDENavigatorOutlineView, IDENavigatorSCMStatusTextField, IDEPathControl, IDEPlaygroundSourceTextScrollView, IDEPlaygroundTextView, IDERunPauseContinueToolbarButton, IDESchemeToolbarBorderView, IDESourceCodeEditorContainerView, IDESourceCodePlaygroundSectionContainerView, IDEUtilityAreaDVTStackView_ML, IDEUtilityDisclosureHeaderView, IDEUtilityDisclosureView, IDEUtilityPlaceholderView, IDEVariablesViewOutlineView, InvisibleScroller, NSBox, NSButton, NSButtonTextField, NSClipView, NSColorPanelColorWell, NSColorPanelResizeDimple, NSColorPickerColorSpacePopUp, NSColorPickerSelectingTextField, NSColorScaleSlider, NSColorSwatch, NSImageView, NSMatrix, NSPopUpButton, NSProgressIndicator, NSScrollView, NSScroller, NSSlider, NSStepper, NSTabView, NSTextField, NSThemeFrame, NSTitlebarContainerView, NSTitlebarView, NSTokenField, NSToolbarBaselineView, NSToolbarButton, NSToolbarClippedItemsIndicator, NSToolbarItemViewer, NSView, NSView_ControlledBy_IDEInspectorArea, NSView_ControlledBy_IDEIssueNavigator, NSView_ControlledBy_IDELibraryArea, NSView_ControlledBy_SKEObjectLibraryController, NSVisualEffectView, NSVisualEffectView_ControlledBy_IDENavigatorArea, ScrollableTabBarMaskingContainerView, Xcode3EmbeddedScrollView, Xcode3TargetMembershipInspectorContentView, _DVTActionPullDownButton, _DVTScrollViewSeparatorView, _DVTTableCellViewEditableTextField, _DVTTableCellViewImageView, _DVTTableCellViewTextField, _IDEEditorStepperArrowButton, _IDESourceCodePlaygroundSectionAnnotationView, _IDESwipeAnimationHostView, _NSClipViewOverhangView, _NSThemeCloseWidget, _NSThemeWidget, _NSThemeZoomWidget, _NSToolbarFlexibleSpace, _NSToolbarViewClipView, nil
@"NSWindowBackgroundGradientDidChangeNotification", // object = NSColorPanel
@"NSWindowDidBecomeKeyNotification", // object = IDEWorkspaceWindow
@"NSWindowDidBecomeMainNotification", // object = IDEWorkspaceWindow
@"NSWindowDidChangeBackingPropertiesNotification", // object = NSCarbonMenuWindow
@"NSWindowDidChangeOcclusionStateNotification", // object = IDEWorkspaceWindow, NSWindow
@"NSWindowDidChangeResolutionNotification", // object = NSCarbonMenuWindow
@"NSWindowDidChangeScreenNotification", // object = IDEWorkspaceWindow
@"NSWindowDidCloseNotification", // object = DVTTextCompletionWindow, NSWindow
@"NSWindowDidMoveNotification", // object = IDEWorkspaceWindow
@"NSWindowDidOrderOffScreenAndFinishAnimatingNotification", // object = DVTTextCompletionWindow, NSWindow
@"NSWindowDidOrderOffScreenNotification", // object = DVTTextCompletionWindow, NSWindow
@"NSWindowDidOrderOnScreenAndFinishAnimatingNotification", // object = IDEWorkspaceWindow
@"NSWindowDidResignKeyNotification", // object = IDEWorkspaceWindow
@"NSWindowDidResignMainNotification", // object = IDEWorkspaceWindow
@"NSWindowDidResizeNotification", // object = IDEWorkspaceWindow, NSColorPanel
@"NSWindowDidUpdateNotification", // object = IDEWorkspaceWindow
@"NSWindowWillCloseNotification", // object = DVTTextCompletionWindow, NSWindow
@"NSWindowWillMoveNotification", // object = IDEWorkspaceWindow
@"NSWindowWillOrderOffScreenNotification", // object = DVTTextCompletionWindow, NSWindow
@"PBXProjectDidOpenNotification", // object = PBXProject
@"PBXTargetBuildSettingsDidChangeNotification", // object = PBXNativeTarget
@"PBXTargetProductReferenceDidChangeNotification", // object = PBXNativeTarget
@"PBXUnarchiverDidFinishUnarchivingNotification", // object = PBXPListUnarchiver
@"XCBuildContextDidCreateDependencyGraphNotification", // object = nil
@"XCBuildContextDidFinishSettingTargetSnapshotNotification", // object = nil
@"XCProfileChangeEventNotification", // object = nil
@"XCPropertyInfoContext_DictionaryWasAdded", // object = XCPropertyInfoContext
@"XCPropertyInfoContext_WillBeDiscardedNotification", // object = XCPropertyInfoContext
@"_NSPersistentStoreCoordinatorStoresDidChangePrivateNotification", // object = NSPersistentStoreCoordinator
@"_NSSQLCoreTransactionStateChangeNotification", // object = NSSQLCore
@"_NSThreadDidStartNotification", // object = NSThread
@"_NSWindowDidBecomeVisible", // object = IDEWorkspaceWindow
@"_NSWindowDidChangeWindowNumber", // object = IDEWorkspaceWindow, NSColorPanel, NSWindow
@"_NSWindowWillBecomeVisible", // object = IDEWorkspaceWindow
@"_NSWindowWillChangeWindowNumber", // object = IDEWorkspaceWindow, NSColorPanel, NSWindow
@"kC3DNotificationEngineContextInvalidatePasses", // object = nil
@"kNotificationGeometryWillDie", // object = C3DGeometry
@"kNotificationMeshSourceWillDie", // object = nil
@"kNotificationMeshWillDie", // object = nil
];
for (NSString* ignoreName in ignoreNames)
{
if ([sender.name isEqualToString:ignoreName])
{
return;
}
}
NSLog(@"Receive : %@", sender);
}