macOS 10.15 Catalinaからセキュリティ強化の一環で、Apple Notarization Serviceで公証を受けることが必須になります。
アップル社はデベロッパー向けのNews And Updatesに、昨年、2019年12月23日付けで次の記事を投稿していました。
この記事の中で注目したいのは以下の部分です。
認証がまだの場合、認証サービスにソフトフェアをアップロードしてデベロッパログの警告を確認してください。2月3日からこれらの警告はエラーとなり、ソフトウェア認証のために修正が必要です。2月3日より前に認証されたソフトウェアは、macOS Catalinaで引き続きデフォルトで実行できます。
Apple – Developer News and Updates – Update to Notarization Prerequisites
緩和条件が適用されなくなるとどうなる?
この記事が公開される2020年2月3日以降は緩和条件が適用されなくなります。緩和条件が適用されなくなると、2020年2月3日以降に署名するプログラムが公証を受けるにはNotarizationの前提条件を全て満たす必要があります。
前提条件は以下の通りです。
- Hardened Runtimeが有効化されている。
- 全てのコンポーネント(実行バイナリ)がDeveloper IDで署名されている。
- コード署名証明書にセキュアタイムスタンプが含まれている
- macOS 10.9 SDK以降のSDKを使ってビルドされている。
- com.apple.security.get-task-allowエンタイトルメントがtrueに設定されていない
Xcodeで普通にビルドしているアプリであれば、問題ないでしょう。Xcodeのバージョンを引き上げればOKです。
サードパーティのライブラリは要注意
サードパーティのライブラリが含まれている場合は要注意です。ライブラリがmacOS 10.9 SDKよりも古いSDKでビルドされていると、Hardened Runtimeを有効化したアプリではライブラリをロードできなくなります。
この場合は、ライブラリの開発元に新しいSDKでビルドしてもらう以外に対応方法がありません。
開発元が既に廃業している場合もあります。その場合は、機能そのものを削除するしかありません。