Introduction
In this blog, we explore geofencing functionality in Apple iOS devices (iPhone, iPad) to automatically toggle on and off an installed Celona SIM (or eSIM). Geofencing requires at least an iPhone 13 running iOS 17 or later. We’ll also look at iOS configurations that affect cellular behavior—such as Wi-Fi Assist, Cellular Data Switching, 5G Standalone, and XML profiles—and how these can help optimize the user experience when transitioning between public and private cellular networks.
The Two-SIM Paradigm: Public and Private Cellular
Using two cellular SIMs—typically one public (e.g., AT&T) and one private (e.g., Celona)—is still a relatively new concept for most users. Unlike traditional setups, where devices rely solely on public carriers and optionally Wi-Fi, this dual-SIM configuration introduces new complexity around prioritization, handovers, and battery impact.
In this demo video, we use an Apple iPhone 16 Pro with both an AT&T public eSIM and a Celona private eSIM installed. We’ll walk through how to configure the device for a corporate user with access to all three networks—Wi-Fi, public cellular, and private cellular.
Users expect their devices to select the “best” network automatically with minimal input. But achieving that requires some understanding of how iOS behaves with multiple networks active simultaneously.
iOS Network Behavior and Key Settings
Cellular Data Switching
iOS includes a Cellular Data Switching feature that dynamically selects between SIMs based on signal strength and performance. While useful for general internet access, enterprises relying on private cellular for VLAN access or internal apps may want to turn this off to avoid unexpected handoffs to the public network.
Wi-Fi Assist
Wi-Fi Assist is enabled by default on iOS and allows the device to switch to cellular when Wi-Fi performance is poor. This can conflict with private cellular prioritization if not managed properly.
Battery Considerations for Mobile Devices
Battery life becomes a concern for devices that frequently leave and re-enter coverage of the private cellular network. Let's exclude from consideration, devices that are always onsite and typically AC-powered (like factory floor CPEs or Zebra scanners). Instead, we focus on bring-your-own-device Apple iPhone, or a corporate assigned Apple iPhone or an Apple iPad - that are used during the workday on Celona private cellular and taken home at night.
At the end of the workday, when a user leaves the site, their iPhone loses access to both Wi-Fi and the Celona private cellular network. Until they reach home and connect to their personal Wi-Fi, public cellular is the only available connection. During this time, the iPhone continues to periodically scan for the Celona network. While this background activity is relatively lightweight, it still consumes some power.
The amount of power used in this state can vary by device model and battery health. Like all rechargeable batteries, phone batteries degrade over time and with repeated charging cycles—eventually leading to shorter usable battery life.
Real -World Example
For example, a Celona customer ran a simple battery test using two brand-new iPhone 13 units.
Device A: Celona eSIM enabled
Device B: No network enabled
Test conditions:
Wi-Fi and public cellular were turned off on both devices
Both devices were screen locked and left idle for 3 days at home, away from any Celona private cellular coverage
Results after 3 days:
Device A(Celona eSIM enabled): 30% battery remaining
Device B(no network): 90% battery remaining
This test highlights the impact of idle scanning for unavailable networks on battery health and further reinforces the need to have the device be on the "best" network at all times.
Options for Managing Battery Impact
One approach is to simply accept the additional battery drain. If your enterprise regularly refreshes its fleet of devices, this may not be a concern—battery life could remain sufficient throughout the device lifecycle. However, for organizations aiming to extend device longevity or repurpose older phones for other corporate needs, taking proactive steps to optimize battery usage may offer real value.
There are two main strategies to manage this:
Manual control: Users can turn the Celona SIM on when arriving at work and off when leaving, helping reduce unnecessary battery drain during off-site hours.
Automated control: As demonstrated in the accompanying video, iOS devices can be configured with an XML profile that uses geofencing to automate SIM behavior. When the device is within a defined range, the Celona SIM is enabled and prioritized. Outside that range, the public SIM is prioritized instead.
Automating Network Prioritization with Geofencing
In the accompanying video, we showcase a hands-free method for optimizing network usage: a geofenced configuration profile that enables and prioritizes the Celona SIM when inside a designated area and reverts to public cellular outside of it.
For this demonstration, we:
Used an Apple iPhone 16 Pro
Connected to an indoor Celona AP22 installed outdoors in the courtyard of Celona’s headquarters in Campbell, California
Defined a geofence radius of 50 meters
Configured the AP22 to a low transmit power of 15dBm for testing (note: Celona indoor APs support up to 24dBm; outdoor APs up to 37dBm)
Apple XML Profile
The following is the XML configuration file we used in the video to test geofencing. For more information of Apple XML configuration file parameters please refer to the Apple developer website at https://apple.developer.com.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadDisplayName</key>
<string>Celona HQ courtyard</string>
<key>PayloadUUID</key>
<string>Example UUID</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadIdentifier</key>
<string>Example Identifier</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>DataSetName</key>
<string>Private 5G Network Settings</string>
<key>VersionNumber</key>
<string>1.0</string>
<key>CellularDataPreferred</key>
<true/>
<key>EnableNRStandalone</key>
<true/>
<key>Geofences</key>
<array>
<dict>
<key>GeofenceId</key>
<string>HQCourtyard</string>
<key>Latitude</key>
<real>37.293330</real>
<key>Longitude</key>
<real>-121.934430</real>
<key>Radius</key>
<real>50</real>
</dict>
</array>
</dict>
</array>
<key>PayloadIdentifier</key>
<string>com.example.private_network_profile</string>
<key>PayloadOrganization</key>
<string>Example Corporation</string>
<key>PayloadUUID</key>
<string>UUID</string>
<key>PayloadType</key>
<string>com.apple.cellularprivatenetwork.managed</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</array>
<key>PayloadDescription</key>
<string>This configuration profile enables devices to connect to the company's private 5G network, prioritizes the private cellular network over Wi-Fi, and enables 5G Standalone. </string>
A key component of the configuration file is the array of Geofences. Each entry includes latitude, longitude, and a radius (in meters), defining a circular area where the Celona SIM should be enabled and prioritized for cellular data. You can include one or multiple geofence zones depending on your coverage needs.
Another important element is the option to automatically enable 5G Standalone. This is particularly useful for environments like mine, where the lab is running a Celona AP20 configured on 5G band n48.
The configuration profile can be installed in two ways:
AirDrop directly to each device
Mobile Device Management (MDM) system (recommended for scale, installation methods and syntax will vary by vendor)
As shown in the video, setting up geofencing to toggle the Celona SIM does require some experimentation. Variations in GPS accuracy across iOS models, along with differences in RF propagation between locations, may affect the precision of your geofencing zones. But once properly tuned, iOS geofencing offers a seamless and automated experience—helping users stay connected to the right network without manual intervention.