Can an iOS app temporarily isolate network communication during a Core NFC session?

I am developing an iOS app that uses Core NFC to communicate with an ISO 14443 / ISO 7816 smart card.

For security reasons, I would like to minimize or temporarily prevent other external communications while an NFC read/write session is active.

My questions are:

  1. Is there any supported iOS API or entitlement that allows an app to temporarily disable or block Wi-Fi, cellular, or Bluetooth communication while a Core NFC session is active?
  2. If device-wide communication cannot be controlled by a third-party app, is there a supported way to guarantee that the app’s own process performs no network communication during that NFC session?
  3. Does Apple recommend any architecture or security practice for implementing an offline-only Core NFC read/write operation?

The NFC communication itself must remain available during the operation.

Thank you.

Answered by DTS Engineer in 905100022

I can’t really speak to the Core NFC specifics here but…

iOS doesn’t offer a general way for a standard app to disable networking for the device as a whole. Apps can affect system networking, but there’s nothing appropriate for your use case. For example, an app can include a Network Extension provider that blocks networking, but such a provider must either be authorised by the user or by device manager.

There’s also no general way for an app to do this to itself.

Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I can’t really speak to the Core NFC specifics here but…

iOS doesn’t offer a general way for a standard app to disable networking for the device as a whole. Apps can affect system networking, but there’s nothing appropriate for your use case. For example, an app can include a Network Extension provider that blocks networking, but such a provider must either be authorised by the user or by device manager.

There’s also no general way for an app to do this to itself.

Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Can an iOS app temporarily isolate network communication during a Core NFC session?
 
 
Q