Bug: 2 Shopify POS devices are returning identical device information

We are in the process of onboarding a multi-chain merchant with our app and have hit a major blocker - 2 brand new iPads (model A16) are returning identical Shopify POS device information (register ID and device ID). For our app, we make use of the device ID and need to be able to distinguish between POS devices.

We already attempted to do a Reset Account to clear app data and cache, to no avail.

Link to device information in their Shopify Admin: https://admin.shopify.com/store/bonbonnyc/apps/point-of-sale-channel/devices/c25fNzY1RTJBOUMtNzdEMS00RTFGLUE4RjMtOTM3ODE4RkMzRUQ1?core=5041487944

Photos of both iPads showing identical View device information - I confirmed over video call that these are two separate physical devices:

Hi @derrick, thanks for the detailed report — we dug into this and confirmed the root cause.

What happened

This isn’t a bug in your extension or in the Device API. One of the two iPads was set up by restoring an iCloud backup of the other. When POS generates its stable device ID on first launch, the ID is persisted in a few places, including app storage that iOS includes in backups. When the backup was restored onto the second iPad, that stored ID came along with it, so the second iPad adopted the first iPad’s identity instead of generating its own. From that point on, both physical devices register as the same POS device, which is why your app sees identical device information on both.

Recent POS versions (11.11+) no longer trust backup-restored storage when generating the device ID, so fresh setups won’t hit this. But once a device has already adopted a cloned ID, an app update can’t untangle the two devices on its own.

How to fix it

For the affected merchant:

  1. Identify the iPad that was set up second (the one restored from the other’s backup).
  2. Erase that iPad (Settings → General → Transfer or Reset iPad → Erase All Content and Settings).
  3. Set it up as a new iPad — do not restore from an iCloud backup of the other device.
  4. Reinstall Shopify POS and log in. It will generate its own device ID and register as a separate device.

Going forward

When setting up multiple POS devices, avoid using one iPad’s backup to set up another — set each device up as new (or use a backup that predates the POS install). We’re also looking at an in-app recovery option so this won’t require a full device reset in the future.

Happy to help confirm which of the two devices needs the reset if the merchant opens a support ticket — support can verify it from device logs.

Victor

Thanks @Victor_Chu.

To clarify, you said recent POS versions 11.11+ no longer trust backup-restored storage when generating the device ID. What exactly does this mean / what has to be in place in order set up an iPad from an iCloud backup and not run into this issue going forward?