macOS 10.15 Catalinaでは強化されたセキュリティ機能によりユーザビリティが損なわれているだけでなく、ネットワーク状況によりアプリの起動が遅れシステムが数秒フリーズする。

Appleの公証をチェックするCatalina macOS 10.15 Catalina
クリックで拡大
記事内に広告が含まれています。
スポンサーリンク

 macOS 10.15 Catalinaでは強化されたセキュリティ機能によりユーザビリティが損なわれているだけでなく、ネットワーク状況によりアプリの起動が遅れシステムが数秒フリーズする問題が起こるという話が話題になっています。詳細は以下から。

macOS 10.15 Catalina

 Appleが2019年10月にリリースしたmacOS 10.15 CatalinaではmacOS 10.14 Mojaveで導入されたユーザー承認が更に強化されたことにより、デスクトップのスクリーンショットやQRコードを撮影するアプリや、拡大鏡、カラーピッカーを利用するアプリで「”hoge.app”でこのコンピュータの画面を記録しようとしています。」という表示がなされたことで多くの批判的なレビューが付き、開発者がこの機能を廃止することで結果的にユーザビリティが損なわれていっているという話が以前ありましたが、

ホゲホゲアプリが画面を録画しようとしています。

“hoge.app”でこのコンピュータの画面を記録しようとしています。(Kelirの例)

先月末、Tumblrの共同創業者で現在はポッドキャスト・クライアントOvercastを開発するMarco Armentさんと、Ars TechnicaでOS X/macOSのレビューを15年にわたって担当したJohn SiracusaさんのポッドキャストATP(Accidental Tech Podcast)をきっかけに開発者の間でmacOS 10.15 Catalinaは非常に遅い(Lagが発生する)と話題になっています。

ATP Episode 379の1:50:00あたりから。

セキュリティチェックによる遅延

 これに対し、Apple Design AwardsでBest Developer Toolを受賞したソースコードエディタTextMate開発者のAllan Odgaardさんは、macOS 10.15 Catalinaへアップデートして以降、Catalinaで動作が遅延する原因を調べAppleにフィードバックを送っているとした上で、Catalinaの動作が遅くなる原因はいくつかあるものの、Catalinaでアプリの起動やシステムの細かいフリーズが気になるユーザーに対し1つの面白い実験として、MacのネットワークをOFFにしてMacを利用することを提案しています。

Wi-Fiをオフにする

One way to solve the delays is to disable your internet connection. This is tough medicine, but if you notice these delays, try it for an hour just to verify that indeed the issue is resolved by disabling internet connectivity.

macOS 10.15: Slow by Design – SIGPIPE 13

 既に多くのユーザーが御存知の通り、AppleはCatalinaで公証というセキュリティチェック機能を導入し、開発者に対し、2020年02月以降macOSのGatekeeperで開発したアプリや実行ファイルをブロックされたくなければ、アプリや実行ファイルをAppleに提出し公証を取得するように通知しましたが、

2020年02月以降はMacアプリにAppleによる認証が必要となる

2020年3月から、提出済みのソフトウェアはすべて当初の認証前提条件を満たす必要があります。認証がまだの場合、認証サービスにソフトフェアをアップロードしてデベロッパログの警告を確認してください。2月3日からこれらの警告はエラーとなり、ソフトウェア認証のために修正が必要です。

認証の前提条件に関する更新 – ニュース – Apple Developer

Allanさんによると、macOS Catalinaでは、この公証をチェックするためにアプリや実行ファイルを実行すると公証をチェック(checksum?)するためにAppleのサーバーからの応答を待つため、数秒実行が遅延するそうで、例えば、以下のスクリプトを実行するだけでも公証をチェックする1回目と2回目では実行時間が違うそうです。

echo $'#!/bin/sh\necho Hello' > /tmp/test.sh && chmod a+x /tmp/test.sh
time /tmp/test.sh && time /tmp/test.sh

 これは、ネットワークとセキュリティ設定に依存するため、AllanさんのエントリーやHacker Newsのコメント欄では実行時間はほぼ変わらないという意見が多いようですが、VPNを利用しているユーザーなどが再現できたそうで、手持ちのMacでもネットワーク・プロファイルを変更できるParallels Desktopで「ネットワーク状態が非常に悪い」を選択して試してみたところ、初回のスクリプト実行には約5秒の遅延が発生したため、ネットワーク状態がアプリや実行ファイルの起動や実行までの時間に影響を与えることは間違いないようで、

Appleの公証をチェックするCatalina

クリックで拡大 : 1回目はネットワーク状態が非常に悪い、2回目はデフォルト

Hacker Newsでは”/etc/hosts”で特定のAppleのサーバーとの通信を切断すればアプリの起動や実行ファイルの実行するまでの時間を短縮する事ができるなど、様々なコメントが出ているので、macOS Catalinaでプチフリーズのような減少が続く方はネットワークをOFFにしてみて下さい。

AppleがOS X 10.11 El Capitanから導入したセキュリティ機能SIPもmacOSの遅延に一役買っているようです。

おまけ

 システム環境設定の[セキュリティとプライバシー] → [プライバシー] → [ディベロッパツール]でターミナルにシステムのセキュリティポリシーに準拠していないソフトウェアをローカルで実行することを許可している場合、スクリプトの実行に遅延は発生しないようです。

システムのセキュリティポリシーに準拠していないソフトウェアをローカルで実行

コメント

  1. 匿名 より:

    > ネットワーク状態がアプリや実行ファイルの起動や実行までの時間に影響を与える
    まさにこういうことなんだね。人によっては、というか環境によっては気づく機会がほぼないかもしれないな。昨今のトラフィック急増(に伴うネットワーク負荷増)で、露見しやすくなったのかも。

タイトルとURLをコピーしました