Я изо всех сил пытаюсь кодировать свое приложение Unity, чтобы отправить sh его в магазин приложений Ma c. Я выполнил рекомендованный процесс Unity, но после команды codeign возникли некоторые проблемы. Мне удалось исправить некоторые из них, добавив новые ключи в свой файл прав, но я все еще застрял из-за механизма песочницы приложений.
В моем приложении я использую внешний плагин FFmpeg для управления кодированием видео. После кодовой подписи с обязательным правом доступа к песочнице приложения, установленным на true, плагин перестал работать, и у меня нет журнала, объясняющего почему.
Я пробовал несколько решений, подробно описанных в других сообщениях, таких как определение наследования AppSandbox или добавление дополнительных ключей в мой файл entiltement, но ни одно из них не сработало.
Я новичок в кодовой подписи, и вот мой процесс и файл прав:
chmod -R a+xr ./MY_APP.app
codesign --force --sign '3rd Party Mac Developer Application: My Company (id)' --entitlements ./FFmpeg.entitlements ./MY_APP.app/Contents/Resources/Data/StreamingAssets/FFmpegOut/macOS/ffmpeg
codesign -f --deep -s '3rd Party Mac Developer Application: My Company (id)' --entitlements ./MY_APP.entitlements ./MY_APP.app
- Подтвердите кодовое обозначение и сборку продукта - оба успешно
Основной файл полномочий для приложения (MY_APP.entitlements):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.files.user-selected.executable</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.get-task-allow</key>
<true/>
</dict>
</plist>
Вот второй файл полномочий (FFmpeg.entiltlement) для плагина с наследованием:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.inherit</key>
<true/>
</dict>
</plist>
Плагин, который я использовал, можно найти на github , я также отправлю туда свою проблему.
Я с радостью возьму любую идею или решение, Спасибо за вашу помощь,
С уважением, Алексис