Я пытаюсь отправить Java-приложение в MacOS X App Store. Весь мой код правильно подписан (jars, dylib и т. Д.). К сожалению, при отправке двоичного файла я всегда получаю ошибку «Недействительный двоичный файл» со следующим сообщением:
Уважаемый разработчик! Мы обнаружили одну или несколько проблем с вашей недавней доставкой для «tamaggo ibi desktop». Чтобы обработать вашу доставку, необходимо исправить следующие проблемы: Изолированная среда приложения не включена. Следующие исполняемые файлы должны включать в себя право com.apple.security.app-sandbox с логическим значением true в списке свойств полномочий. См. Страницу «Песочница приложения» для получения дополнительной информации о «песочнице» вашего приложения. • tamaggo ibi.app/Contents/MacOS/JavaAppLauncher После исправления этих проблем перейдите на страницу «Сведения о версии» и нажмите «Готово к загрузке двоичного файла». Продолжайте процесс отправки, пока статус приложения не станет «Ожидание загрузки». Затем вы можете доставить исправленный двоичный файл. С уважением, команда App Store
Я искал это в Google целый день, но ничего не нашел. Кто-нибудь знает, как изолировать JavaAppLauncher в файле .entitlements?
Чтобы предоставить больше информации, я подписываю код следующим образом: /usr/bin/codesign --resource-rules desktop-app/target/dist/myApp/Contents/ResourceRules.plist --verbose --force --sign "3rd Party Mac Developer Application: XXX" desktop-app/target/dist/myApp
find desktop-app/target/dist/myApp.app/Contents/ -type f \( -name "*.jnilib" -or -name "*.jar" -or -name "*.dylib" \) -exec codesign --resource-rules desktop-app/target/dist/myApp.app/Contents/ResourceRules.plist --verbose -f -s "3rd Party Mac Developer Application: XXX" --entitlements desktop-app/target/dist/myApp.app/Contents/myApp.entitlements {} \;
codesign --resource-rules desktop-app/target/dist/myApp.app/Contents/ResourceRules.plist --verbose --force --sign "3rd Party Mac Developer Application: XXX" desktop-app/target/dist/myApp.app/Contents/Resources/binaries/ffmpeg
codesign --resource-rules desktop-app/target/dist/myApp.app/Contents/ResourceRules.plist --verbose --force --sign "3rd Party Mac Developer Application: XXX" desktop-app/target/dist/myApp.app/Contents/MacOS/JavaAppLauncher