我正在嘗試將Java應用程序發送到MacOS X App Store。我的所有代碼都正確簽名(罐子,dylib等)。不幸的是,在發送二進制文件時,我總是得到一個「無效二進制」錯誤,並顯示以下消息:如何將JavaAppLauncher嵌入到App Store沙盒
尊敬的開發人員, 我們發現您近期針對「tamaggo ibi desktop」發送的一個或多個問題。要處理您的交付,必須更正以下問題: 未啓用應用程序沙箱 - 以下可執行文件必須在權利屬性列表中包含布爾值爲true的「com.apple.security.app-sandbox」權利。有關沙盒應用的更多信息,請參閱應用沙盒頁面。 •tamaggo ibi.app/Contents/MacOS/JavaAppLauncher 一旦這些問題得到解決,請轉到版本詳細信息頁面,然後單擊「準備上傳二進制文件」。繼續完成提交過程,直到應用狀態爲「等待上傳」。然後您可以提供更正的二進制文件。 此致, 應用商店團隊
我谷歌搜索整整一天,但沒有找到任何東西。有誰知道如何對.entitlements文件中的JavaAppLauncher進行沙箱?
爲了給更多的信息,這裏是我怎樣,我簽約代碼: /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
謝謝!我會馬上測試它!我真的希望這會解決我的問題,因爲我很無能! – iDev
謝謝。我已經在使用你的叉子,但是是舊版本。我採取了最新的,它解決了我的問題。我也使用了與您相同的簽署順序!現在正在等待審查! – iDev