When attempting to build a MacOS Desktop target using the VLCJ library (per the example in the experimental folder), running it locally works as expected.
After creating all the proper settings and configurations for a signed App acceptance per Apple's instructions and successfully uploading of a build (which runs fine locally), and is accepted by Apple. The App is then made available in TestFlight for users to download.
Upon a user downloading an launching the App, everything works fine until accessing the VLCJ videoplayer, which causes a crash. The library is successfully loaded, but something else is causing a violation (permissions? library not signed?):
I am able to get any regular Kotlin-native library (for KMM/KMP) work fine on all platforms. It's just these libaries that link back to JVM somewhere... like VLCJ or WebView.
Please forgive my lack of proper terminology, I am an Android/iOS developer, MacOS desktop is totally new to me.
Affected platforms
Desktop (macOS) only
Versions
Kotlin version*: 1.9.23
Compose Multiplatform version*: 1.6.6
OS version(s)* (required for Desktop and iOS issues): 14.4.1 (23E224)
Running locally (using composeDesktop:run, composeDesktop:runRelease) works great. composeDesktop:runDistributable and composeDesktop:runReleaseDistributable have never worked for me.
Target MacOS desktop using the packagePkg task. Everything signs properly and upload is accepted by Apple.
Upon downloading and accessing the VLCJ component causes a crash at runtime, and these windows pop-up:
Expected behavior
I expect the same behavior when running locally, ie: the VLCJ library has full functionality and does not crash at runtime after distribution via Apple TestFlight or production.
Screenshots
Included above
Additional context
Here's the log from the Cloud Cover USA 2 > Data > Library > Logs > Cloud Cover USA 2_debug.log
Describe the bug
When attempting to build a MacOS Desktop target using the VLCJ library (per the example in the experimental folder), running it locally works as expected.
After creating all the proper settings and configurations for a signed App acceptance per Apple's instructions and successfully uploading of a build (which runs fine locally), and is accepted by Apple. The App is then made available in TestFlight for users to download.
Upon a user downloading an launching the App, everything works fine until accessing the VLCJ videoplayer, which causes a crash. The library is successfully loaded, but something else is causing a violation (permissions? library not signed?):
I am able to get any regular Kotlin-native library (for KMM/KMP) work fine on all platforms. It's just these libaries that link back to JVM somewhere... like VLCJ or WebView.
Please forgive my lack of proper terminology, I am an Android/iOS developer, MacOS desktop is totally new to me.
Affected platforms
Versions
To Reproduce Steps and/or the code snippet to reproduce the behavior:
Reference project and commit: https://github.com/realityexpander/CloudCoverUSA2/blob/37feae3c18c55591331c2981eb149b2ab3e84dd9/composeApp/src/commonMain/kotlin/App.kt#L471
Include a JVM library (like this:)
Running locally (using
composeDesktop:run
,composeDesktop:runRelease
) works great.composeDesktop:runDistributable
andcomposeDesktop:runReleaseDistributable
have never worked for me.Target MacOS desktop using the
packagePkg
task. Everything signs properly and upload is accepted by Apple. Upon downloading and accessing the VLCJ component causes a crash at runtime, and these windows pop-up:Expected behavior I expect the same behavior when running locally, ie: the VLCJ library has full functionality and does not crash at runtime after distribution via Apple TestFlight or production.
Screenshots Included above
Additional context Here's the log from the
Cloud Cover USA 2 > Data > Library > Logs > Cloud Cover USA 2_debug.log
here's the project I'm using: https://github.com/realityexpander/CloudCoverUSA2/blob/37feae3c18c55591331c2981eb149b2ab3e84dd9/composeApp/src/commonMain/kotlin/App.kt#L471
PS: I targeted iOS and use KMM/KMP libraries for video and it works on Desktop for arm64 macs with no problems.