💡

macOS Sonoma Mail の検索を修正した方法

2024/04/30に公開

Mac を使用していて最近 Mail の検索がまともに動作しないようになっていました。
この為修正方法を調べたところ改善を示唆する書き込みが有り、その方法を試したところ解決したので備忘録として記録します。

元々の内容は以下です。
https://discussions.apple.com/thread/255562482?cid=em-com-apple_watches_email_thread_owner-view_the_full_discussion-en-us-11282023&sortBy=best

環境

  • macOS Sonoma 14.4.1
  • MacBook Air M2, 2022

手順

セーフモードで起動

  1. アップルメニュー>「システム終了」と選択
  2. システムボリュームと「オプション」ボタンが表示されるまで、Macの電源ボタンを押す
  3. 起動するボリュームを選択
  4. Shiftキーを押したまま、「セーフモードで続ける」(Continue in Safe Mode)をクリック

通常モードで再起動

セーフモードで起動したことにより、起動ディスクのチェックとシステムキャッシュの一部クリアが実行され、これが肝のようです。
https://support.apple.com/ja-jp/116946

  1. Optionキーを押したまま、アップルメニュー >「システム情報」と選択
  2. システム情報アプリの「サイドバー」で、「ソフトウェア」を選択
  3. 「システムソフトウェアの概要」で、「起動モード」の項目が"セーフ"を確認
  4. アップルメニュー>「再起動...」と選択し Mac を再起動する

Launch Servces のリセット

  1. ターミナルにて以下のコマンドを実行
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

sudo /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -seed -lint -r -f -v -dump -domain local -domain system -domain user -domain network

lsregister の使用するオプション

-kill
Reset the Launch Services database before doing anything else
他の作業を行う前に、Launch Services データベースをリセットします。

-r
Recursive directory scan, do not recurse into packages or invisible directories
再帰的ディレクトリ スキャン。パッケージや非表示のディレクトリを再帰的にスキャンしません。

-seed
If database isn't seeded, scan default locations for applications and libraries to register
データベースがシードされていない場合は、アプリケーションとライブラリのデフォルトの場所をスキャンして登録します。

-lint
Print information about plist errors while registering bundles
バンドル登録時の plist エラーに関する情報を出力します。

-f
force-update registration even if mod date is unchanged
更新日が変更されていない場合でも登録を強制的に更新する。

-v
Display progress information
進行状況情報を表示する。

-dump [table]
Display full database contents after registration
登録後にデータベースの完全な内容を表示する。

Dock の再起動

この Dock の再起動の理由はわかりませんでした。

  1. 引き続きターミナルにて以下のコマンドを実行
killall Dock

Spotlight のインデックス再構築

インデックスの再構築を行います、全体の再構築になるため時間がかかります。

  1. 引き続きターミナルにて以下のコマンドを実行
sudo mdutil -E /
sudo mdutil -i on /

mdutil の使用するオプション

-E
This flag will cause each local store for the volumes indicated to be erased. The stores will be rebuilt if appropriate.
このフラグにより、指定されたボリュームの各ローカル ストアが消去されます。 ストアは必要に応じて再構築されます。

-i on
Sets the indexing status for the provided volumes to on or off. Note that indexing may be delayed due to low disk space or other conditions.
提供されたボリュームのインデックス作成ステータスをオンまたはオフに設定します。 ディスク容量不足やその他の状況により、インデックス作成が遅れる場合があることに注意してください。

その後

以上の操作数日後、私の環境では Mail の検索が正常動作するようになりました。
この記事は Apple Silicon を搭載した Mac についてですので、Intel CPU 搭載の Mac ではまた異なるものと思われます。(セーフモードでの起動方法も異なります)

Discussion