システム拡張

WWDC 2019で発表された通り、カーネル拡張から「System Extension(システム拡張とDriverKit)」への移行が必要になります。
デバイスドライバはDriverKitへ、システムイベント、ネットワークイベントのモニタリング・制御には、それぞれ EndpointSecurity、NetworkExtensionを利用することで代替が可能です。
macOS 11 Big Sur では、非推奨のKPI(Kernel programming interfaces)を使用しているカーネル拡張のロードが禁止されるようになりました。macOS 10.15 Catalina がカーネル拡張をフルサポートする最後のmacOSとなり、Appleは将来のmacOSでカーネル拡張の廃止をアナウンスしています。

カーネル拡張開発と同様、専門の業者に依頼することをオススメいたします。

カーネル拡張の開発実績の資産、知見の有無によってシステム拡張開発の作業工数に大きな差ができます。

    システム拡張開発で複雑・難しいとされている一部を下記に記載しております。
  • Apple Developerプログラムへの参加が必要で、SystemExtensionなどの使用には事前にAppleへの申請が必要
  • SystemExtensionをアプリとして配布するには、Provisioning Fileの作成、設定などが必要
  • SystemExtensionはホスティングアプリに所定の設定をしないと起動しない
  • Catalinaから追加された比較的新しい技術で現時点では情報が少ない
  • 知らなければ導入・開発開始するまでつまづく点が多い
    以下、カーネル拡張と異なるポイント
  • 開発言語は、Swift、Objective-Cなど選択可能
  • Xcode上でデバッグすることも可能

弊社、セキュリティコンポーネント「PAS!CO」もカーネル拡張から、System Extension, DriverKitへの移行が完了しております。
System Extension, DriverKit への移行をご検討の際、お気軽にお問い合わせください。

関連ページ