まず、コード署名が必要ない場合は、CMakeプロジェクトで署名を無効化することができます。次の手順を実行してください。
-
CMakeLists.txtファイルを開きます。
-
project()
ステートメントの前に、次の行を追加します:set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO") set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "NO")
これにより、CMakeはXcodeプロジェクトを生成する際に、コード署名が無効化されます。
ただし、コード署名が必要な場合でも、一時的に無効化することができる場合があります。この場合、コード署名を無視するようにCMakeを設定します。以下に手順を示します。
-
CMakeLists.txtファイルを開きます。
-
project()
ステートメントの前に、次の行を追加します:set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "NO")
-
コード署名が必要なターゲットを定義するセクションで、次の行を追加します:
set_target_properties(target_name PROPERTIES XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
この方法では、特定のターゲットに対してのみ、コード署名を無効化することができます。
エラーメッセージの例とその解決策をいくつか紹介します。
-
エラーメッセージ: "CMake Error at CMakeLists.txt:XX (message): Code signing is required for product type 'Application' in SDK 'macOS 11.1'"
解決策: 上記の手順に従ってコード署名を無効化するか、一時的に無視する方法を使用してください。
-
エラーメッセージ: "codesign_allocate: error: signing with a development team..."
解決策: 開発者チームに関連付けられた証明書が不足している可能性があります。適切な証明書を取得し、キーチェーンに追加してから再試行してください。
-
エラーメッセージ: "codesign_allocate: error: no identity found"
解決策: 適切な証明書がキーチェーンに存在しない可能性があります。証明書を作成し、キーチェーンに追加してから再試行してください。