MobileVLCKit (3.7.3) triggering Local Network permission

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?
Answered by DTS Engineer in 916360022
Written by urweakness in 857218021

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.

Written by urweakness in 857218021

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 NSLocalNetworkUsageDescription property.
  • If you don’t expect your app to perform local network operations then it’s fine to leave out the NSLocalNetworkUsageDescription property 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"

Written by urweakness in 857218021

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.

Written by urweakness in 857218021

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 NSLocalNetworkUsageDescription property.
  • If you don’t expect your app to perform local network operations then it’s fine to leave out the NSLocalNetworkUsageDescription property 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"