macOSアプリ開発でNSTextView
やNSTextField
を使っていて、メニューに余計なものが勝手に追加されることに気づきました。「音声入力を開始」と「絵文字と記号」というやつです。
これを取り除く方法を記しておきます。
AppDelegate.swift
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationWillFinishLaunching(_ notification: Notification) {
UserDefaults.standard.set(true, forKey: "NSDisabledDictationMenuItem")
UserDefaults.standard.set(true, forKey: "NSDisabledCharacterPaletteMenuItem")
UserDefaults.standard.synchronize()
}
func applicationDidFinishLaunching(_ aNotification: Notification) {
}
}
applicationWillFinishLaunching
の内部でUserDefaults
を介して設定をいじります。Did
ではなくWill
なところがポイントです。