How to Use an eSIM Adapter on iPhone (What Works, What Doesn't)

Short answer: no iPhone can download or manage eSIM profiles onto a removable eUICC card by itself. iOS exposes no API that lets an app send APDU commands to the SIM slot, so the adapter apps that exist on Android cannot be built for iOS at all. What works is provisioning the card elsewhere — on an Android phone, or on a computer with a smart-card reader — then inserting it into the iPhone, which reads it as an ordinary physical SIM. And before you buy anything: if your iPhone is XR or newer and wasn't sold in Hong Kong, Macao, or mainland China, it already has a built-in eSIM and you almost certainly don't need an adapter.

Disclosure: published by Switch eSIM, which sells removable eUICC cards. This article concludes that most iPhone owners should not buy one, and that those who should will need a second device to set it up. Unverified claims are marked, including claims about our own product.


First: do you actually need one?

This is the question competitor pages skip, and it disqualifies most people who search for "eSIM adapter iPhone."

Your iPhone Native eSIM? SIM tray? Verdict
iPhone X, 8, 7, SE (1st gen), older No Yes (nano-SIM) A removable eUICC is genuinely useful — this is the real use case
iPhone XR, XS, XS Max Yes (1 eSIM + 1 physical) Yes You already have eSIM. Adapter adds little
iPhone 11, 12, 13, 14, 15, 16, 17 (non-US) Yes Yes You already have eSIM
iPhone 13 and later Yes — two active eSIMs Varies You already have eSIM
iPhone 14 and later, US models Yes No tray at all A physical adapter card cannot be inserted. Full stop
iPhone Air Yes — eSIM-only worldwide, no tray No Cannot be inserted
Hong Kong / Macao dual-nano-SIM variants (part number ends ZP/A) Mostly no — two physical slots instead Two Best modern-iPhone case for a removable eUICC
Mainland China models Historically no eSIM (Apple lists only iPhone Air and 17e as supporting eSIM in mainland China) Yes Genuinely useful

Two rows deserve emphasis because they invert the intuitive answer.

The searched phrase "iPhone 11 eSIM adapter" usually has no product answer. The iPhone 11 series supports one physical nano-SIM plus one eSIM natively. If you want a second line, add an eSIM in Settings. The exception is a unit sold in mainland China, Hong Kong, or Macao, which typically shipped with two physical SIM slots and no eSIM.

If you own a US iPhone 14 or later, or an iPhone Air, no physical adapter of any kind will work — there is no tray. This is a hardware fact, not a software limitation, and no vendor can work around it.


Why iOS can't run an adapter app

On Android, an LPA app reaches the eUICC through one of two APDU channels: the Telephony API or OMAPI. iOS has neither.

There is no OMAPI equivalent for the SIM slot. iOS does ship CryptoTokenKit, which includes TKSmartCard and TKSmartCardSlotManager — and headers marked available since iOS 10 have caused years of developer confusion. An Apple developer forum thread from that era spelled out the reality: the smart-card token classes "are part of the CryptoTokenKit.framework for macOS," and the framework "is not present on iOS for public use" in the sense of interacting with JavaCard applets on an inserted SIM. A 2020 Stack Overflow attempt to send APDUs to a SIM on iOS 13 via TKSmartCard failed at the service connection.

Here is the nuance that matters, and it's the most interesting technical finding in this article: on iOS, CryptoTokenKit does work with external smart-card readers. An Apple DTS engineer responded to a 2025 forum thread from developers using TKSmartCardSlotManager, TKSmartCardSlot and TKSmartCard "to communicate with smart cards through external USB readers on iOS and iPadOS," confirming the error code they hit was a generic communication error — not an unsupported-platform error. Reader detection and transmitRequest were working; a specific reader model was misbehaving.

So the iOS restriction is precisely targeted: an app may talk APDUs to a card in a reader you plug in, but not to the card in the phone's own tray. That asymmetry is the entire reason iPhone adapter support looks the way it does.

And the SIM Toolkit menu has no API either. iPhones do surface STK menus at Settings → Cellular → SIM Applications (Settings → Mobile Data → SIM Applications in some regions and iOS versions), and its position has moved between releases. But this is user-facing only. A 2025 Apple developer forum post requesting a controlled STK entitlement states the current position plainly: the menu is "buried under Settings → Cellular → SIM Applications, often missing depending on carrier provisioning," and "third-party developers cannot programmatically open or trigger STK actions." It was filed as a feature request, which tells you it isn't possible today.

Vendors confirm this in their own documentation. eSIM.me's FAQ, in every language edition, states there is no iOS app and no plans for one, because "the eSIM.me APP required to download and manage the eSIM profiles of an eSIM.me Card is only available for Android." Their stated iPhone story is narrow and worth quoting because it is the honest shape of the whole category: iOS users "can use an eSIM.me Card to read the active eSIM profile previously downloaded and activated on an Android smartphone."

Read that carefully. The card works in the iPhone. The management happens somewhere else.


Workflow A: provision on Android, use on iPhone

The path most vendors implicitly assume.

  1. Insert the eUICC card into a compatible Android phone.
  2. Use the vendor's Android app to download the profile from a QR code or activation code.
  3. Enable the profile you want. Only one profile is active at a time.
  4. Move the card to the iPhone.
  5. The iPhone sees a normal physical SIM and registers on the network.

Requirements and consequences:

  • You need access to an Android phone that exposes a SIM OMAPI reader — not merely one that "supports eSIM." (Our companion article on OMAPI covers how to test this with adb logcat.)
  • Switching profiles means going back to the Android phone. Whether any switching is possible from the iPhone depends on whether your card carries an STK applet, and whether iOS surfaces it. Unverified for our cards.
  • Borrowing a phone for setup, then travelling with the iPhone, works — but you cannot change plans mid-trip.

Workflow B: provision with a computer and a card reader

No Android phone required. This is the path that genuinely fills the content vacuum, because it's documented in open-source projects rather than vendor marketing.

Hardware: a PC/SC-compatible (CCID) smart-card reader, plus a SIM-sized carrier or a reader with a SIM slot.

Software: lpac, an open-source LPA written in C. Its documented APDU backends include libapduinterface_pcsc (PC/SC smart-card API), libapduinterface_at (AT commands, for cellular modules), and libapduinterface_stdio. PC/SC is the default when no backend is specified. On Linux you need pcscd, pcsclite and libcurl installed.

The documented command sequence:

# confirm the reader is visible
lpac driver apdu list

# read card info (EID, default SM-DP+ / SM-DS)
lpac chip info

# list profiles — do NOT delete the card's default profile
lpac profile list

# download a profile
lpac profile download -s <SM-DP+ server> -m <activation code> [-c <confirmation code>]

# enable it (one at a time)
lpac profile enable <ICCID>

# clear pending notifications to the operator
lpac notification list
lpac notification process <seqNumber> -r

Two practical notes from the project docs and community write-ups. EasyLPAC is a GUI frontend and community scripts specifically recommend it if profile selection via CLI misbehaves. And lpac notification process matters more than it looks — deleting a profile does not automatically tell the operator's SM-DP+, so a plan can remain marked in-use unless you send the notification.

Then move the card to the iPhone.

[PLACEHOLDER — SCREENSHOTS REQUIRED] The brief calls for step-by-step screenshots. I cannot produce or verify these. Whoever has the hardware should capture: (1) reader with card inserted, (2) lpac driver apdu list output showing the reader, (3) lpac profile list before and after download, (4) iPhone Settings → Cellular showing the resulting line. Do not publish stock or illustrative images in place of real captures.


What about a Bluetooth reader?

I could not verify this and it is not drafted as fact. The technical precondition is promising: as established above, iOS CryptoTokenKit does reach external readers, and Apple's own DTS engineers discuss TKSmartCardSlotManager working with them. That makes an iOS LPA app driving an external reader theoretically possible in a way that an on-device SIM-slot LPA is not.

What I have not confirmed: whether TKSmartCardSlotManager enumerates Bluetooth (as opposed to USB/Lightning) readers at all; whether any shipping iOS app implements profile download over such a reader; and whether MFi certification is required. Until someone tests this on real hardware, we should not claim it. It is the single most link-worthy claim in this brief and the easiest to get wrong.


Hard limitations, stated plainly

  • No SIM tray, no adapter. US iPhone 14 and later, and iPhone Air, are excluded by physics.
  • One active profile at a time on the card.
  • No profile download from the iPhone. Ever, on current iOS.
  • Switching from the iPhone is unconfirmed and depends on card-side STK plus iOS surfacing the menu — which Apple's own developer discussions describe as inconsistent and carrier-dependent.
  • The card occupies your only physical slot. On an iPhone XR–13, that means giving up the physical SIM you may already be using.
  • You are adding a dependency, not removing one. On any iPhone XR or later outside HK/Macao/China, native eSIM does this better with no extra hardware.

Troubleshooting

Symptom Cause Fix
No adapter app in the App Store None exists; iOS blocks the required APDU access to the SIM slot Use Workflow A or B
Card in iPhone, no service No profile enabled, or profile enabled for a different device/region Re-enable on the Android phone or reader
No "SIM Applications" entry in Settings Menu is carrier/card-provisioning dependent and its location has changed across iOS versions Check Settings → Cellular and Settings → Mobile Data; if absent, the card likely has no accessible STK applet
Reader not listed by lpac PC/SC daemon not running, or reader unsupported Install/start pcscd; verify with pcsc_scan; lpac driver apdu list
lpac sees reader, card operations fail Card may not implement SGP.22 cleanly Confirm the card is a genuine SGP.22 eUICC
Deleted a profile, operator says still active Notification never sent to SM-DP+ lpac notification list then notification process <seq> -r
Profile works on Android, not iPhone Locked iPhone, or carrier profile mismatch Confirm the iPhone is unlocked; Apple requires an unlocked iPhone to use two different carriers

Limitations of this article

Sources: Apple Support documentation, Apple Developer Forums, Apple Support Communities, the lpac project documentation and repositories, community write-ups, and eSIM.me's own multilingual FAQ, all retrieved this session. No device was tested. No screenshot was verified. No iPhone was used.

Specific gaps: I did not verify Bluetooth reader support on iOS at all; I did not verify that any specific reader model works with lpac; I did not verify whether Switch cards include an STK applet or work with lpac; I did not verify the current iOS-version-specific location of the SIM Applications menu; the HK/Macao and mainland-China model details come partly from a third-party commercial blog cross-checked against Apple's own pages, and per-region model variants change with each release. The CryptoTokenKit-cannot-reach-the-SIM finding rests on developer forum posts from iOS 9–13 plus one 2020 failure report; Apple has published no positive statement of this restriction, so it is inference from consistent failure, not documentation.



Learn more:

  1. Apple Support — Using Dual SIM with an eSIM: requires iPhone XS, XS Max, XR or later; unlocked iPhone needed for two carriers
  2. Apple Support — Set up cellular service on iPhone: "On iPhone 14 and later, some models only use eSIM"
  3. Apple Support — Use Dual SIM on iPhone: physical+eSIM on XR–14; two eSIMs on SE (3rd gen), 13 and later
  4. Apple Support (JP) — eSIM on iPhone: in mainland China only iPhone Air and 17e support eSIM; HK/Macao dual nano-SIM models
  5. Apple Developer Forums — SIM Toolkit API request: STK menu "often missing depending on carrier provisioning"; third parties cannot trigger STK programmatically
  6. Apple Developer Forums — CryptoTokenKit "not present on iOS for public use" for JavaCard applet interaction
  7. Apple Developer Forums — TKSmartCard with external USB readers on iOS/iPadOS; DTS confirms error is a generic communication error
  8. Stack Overflow — attempt to send APDUs to a SIM on iOS 13 via TKSmartCard fails at service connection
  9. Apple Support Communities — location of Settings → Cellular → SIM Applications across iOS versions
  10. Apple Support Communities — SIM Toolkit missing after iOS 12 update; found under Settings → Mobile Data → SIM Applications
  11. eSIM.me FAQ (FR) — no iOS app and no plans; iOS devices can read a profile previously activated on Android
  12. eSIM.me FAQ (ES) — same, plus Android 9+ requirement
  13. eSIM.me FAQ (DE) — no plans for an iOS or Windows app; V1 card Android 13/14 known issue
  14. lpac — USAGE.md: PC/SC default backend, pcscd/pcsclite/libcurl, full CLI reference
  15. lpac — APDU backends: libapduinterface_pcsc, _at, _stdio; lpac driver apdu list
  16. Soprani.ca wiki — eSIM Adapter/lpac: practical reader workflow, "do not delete the default profile"
  17. Community setup script — pcsc_scan for reader detection; EasyLPAC recommended for profile selection
  18. lpac-libmbim-wrapper — notification process required to release a profile with the SM-DP+
  19. Saily — Which iPhones have an eSIM (third-party; used for HK/Macao ZP/A variant detail, cross-checked against Apple)

Learn more:

  1. FAQ
  2. FAQ
  3. FAQ
  4. FAQ
  5. Upgrade to eSIM
  6. Generic : Ottieni una eSIM per il tuo ❤︎ smartphone ...
  7. sim applications
  8. View or change cellular data settings on iPhone
  9. How to get to Sim application/toolkit on …
  10. Apple Developer Forums
  11. I cant find sim tool kit after ios 12 upd…
  12. Set up cellular service on iPhone
  13. communicate with javacard applet u…
  14. How to implement a CryptoTokenKit extension on iOS
  15. slot refused to allocate exclusive…
  16. Accessing PIV Smart Card Certifica…
  17. Send APDU commands to SIM card on iOS13 with TKSmardCard
  18. TkSmartCard transmitRequest persis…
  19. iPhoneでeSIMを設定する
  20. Use Dual SIM on iPhone – Apple Support (AU)
  21. Which iPhones have an eSIM? Full list (2026)
  22. Een dubbele simkaart gebruiken op de iPhone
  23. Which iPhones have an eSIM? Full list (2026)
  24. Using Dual SIM with an eSIM
  25. eSIM Adapter/lpac
  26. lpac/docs/USAGE.md at main · estkme-group/lpac · GitHub
  27. 124c6ae5e9562b0d50829c2557ee7337 · GitHub
  28. dev-techmoe/lpac · GitHub
  29. packages/utils/lpac/Makefile at master · openwrt/packages · GitHub
  30. stich86/lpac-libmbim-wrapper: This is a wrapper for LPAC client to used libmbim to manage euICC on Linux client · GitHub
Back to blog

Get your Switch eSIM Adapter today!

Unlock the World, Anytime Anywhere