Xamarin.Mac/アクセシビリティの設定変更を検知する
ナビゲーションに移動
検索に移動
概要[編集 | ソースを編集]
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);
});
上記はあくまで「アクセシビリティの設定が変更された」という通知が届くだけであり、どの設定が変更されたかまでは通知されない。
主な用途だと思われる自身のアクセシビリティを確認する方法は下記を参照。