macのアクセス権確認ダイアログを複数回出ないようにしたい
解決したいこと
自作Java Swingアプリ LightZone で、m1 macのアクセス権確認ダイアログを複数回出ないようにしたい。
- 2回目以降の実行時には出ないようにする方法
- 初回から出ないようにする方法(あれば)
発生している問題
m1 macで、作成したappを実行中に「"…" から "カレンダー" にアクセスしようとしています。」というダイアログが複数回・複数種類(カレンダー以外にリマインダー、連絡先、デスクトップ、書類など)出ます。
「OK」または「許可しない」を押下しても次回以降の実行時に同じように出ます。
詳細
パッケージを作るのには appbundler を使用しています。
この問題はarm64のjdkでビルドし /Applications/LightZone.app/Contents/MacOS/LightZone を実行した場合のみ起きています。
- x86_64のjdk (adoptopenjdk11 および temulin17) でビルドし
arch -x86_64
付きで実行した場合はダイアログが出ずに正常に実行できています。 - arm64でも
ant run
で実行した場合は正常に実行できます。
自分で試したこと
- Info.plistにentitlementsを追加 (antのbuild.xml内でappbundlerのオプションとして指定。cf. https://github.com/ktgw0316/LightZone/commit/5615e46)
- arm64 jdkとしてzulu11およびadoptopenjdk11を試して両方で再現
0