Xamarin.Mac/アクセシビリティの設定変更を検知する

提供: MonoBook
移動: 案内検索

概要[編集]

Mac OS Xのアクセシビリティの設定が変更されたのを検知することができれば、アプリ実行中にアクセシビリティの許可が取り消されたかを確認し、必要に応じて警告を出すなどの挙動を実現できる。

実装[編集]

Mac OS Xのアクセシビリティの設定が変更されたのを検知するにはNSDistributedNotificationCenterで「"com.apple.accessibility.api"」を監視してやればよい。 DefaultCenterプロパティの型が何故かNSObjectとなっているのでキャストを忘れずに。

            var dnc = (NSDistributedNotificationCenter)NSDistributedNotificationCenter.DefaultCenter;
 
            dnc.AddObserver("com.apple.accessibility.api", (notification) => {
                Console.WriteLine(notification); 
            });

上記はあくまで「アクセシビリティの設定が変更された」という通知が届くだけであり、どの設定が変更されたかまでは通知されない。

主な用途だと思われる自身のアクセシビリティを確認する方法は下記を参照。

関連項目[編集]

参考文献[編集]