[Python]327 appファイルのApple公証

[M1 Mac, Big Sur 11.6.5, Python 3.10.0]

py2appにより作成したappファイルをAppleに提出しApple公証をパスさせました。

appファイルはインタプリタやPyQtを丸ごとパッケージにしているので中にあるプログラムに署名する必要があります。今回は268個のファイルに署名しました。

署名対象ファイルはappファイル作成時にログ出力されるsignリストで確認できます。このリストを取り出して以下のコードで一括署名しました。

これでGUIのXCodeでは扱っていないJava, C++, PythonアプリのApple公証を成功させたことになります。

次の目標はC++とPythonアプリのMicrosoft Storeアプリ登録(コマンドでappxファイル作成)ですが、ハードルはかなり高そうです。特に多言語対応に不安があります。xmlが使えるのであれば問題ないのですが。

import subprocess

signs = [ログ出力から取得したファイルパス + Contents/MacOS内実行ファイル]

for sign in signs:
    cmd = f'codesign --force --verify --verbose --sign [mac-signing-key-user-name] {sign} --deep --options runtime --entitlements entitlements.plist --timestamp'
    subprocess.run(cmd,shell=True)