The problem manifests itself from 16 to 18 iOS not inclusive
Versions from 18 up to and including do not cause this problem.
When initializing the player, a request for permission to use the local network appears.
The application does not use a local network as a capability, even in plist there is no such key.
Apple has granted permission to use multicast networking, and the corresponding capability has also been added.
The player is assembled as
let player = VLCMediaPlayer()
player.media = media
Having previously collected media with the options
"clock-synchro=..."
"avcodec-threads=..."
"rtsp-tcp"
"network-caching=..."
"live-caching=..."
"-vv"
"clock-jitter=..."
and "no-audio", "--no-sout-audio" to mute the audio for the picture during the call
How to prevent a library from accessing the local network?
In general, iOS enforces privileges at the process boundary. All the code inside your process is equally privileged. So, there’s no way to to block a library from performing a local network operation.
To resolve this issue you’ll have to dig into the library code to find out what it’s doing that’s triggering the local networking alert.
The application does not use a local network as a capability, even in plist there is no such key.
Apple has granted permission to use multicast networking, and the corresponding capability has also been added.
Well, that seems strange. Multicasts are local network operations, so:
- If you claim the multicast entitlement then you should definitely have a
NSLocalNetworkUsageDescriptionproperty. - If you don’t expect your app to perform local network operations then it’s fine to leave out the
NSLocalNetworkUsageDescriptionproperty but, in that case, there’s no point claiming the multicast entitlement.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"