Environment
- iOS: 26.6
- Xcode: 26.3
I’m encountering an issue migrating legacy Bluetooth peripherals using ASMigrationDisplayItem from AccessorySetupKit. I have verified that both bluetoothServiceUUID and peripheralIdentifier are correct.
- On the first‑time use of
ASMigrationDisplayItem, the peripheral migrates successfully and shows up in iOS Settings. - After deleting the app, the accessory authorization list is cleared. Upon reinstalling the app, migration attempts do nothing — no device appears in Settings. Occasionally I get this error:
Error Domain=ASErrorDomain Code=500 "(null)" Picker already activated
- All subsequent migration attempts keep failing. The migration only works again after a full phone reboot.
My hypothesis: When AccessorySetupKit is first used, a system daemon is spawned to handle AccessorySetupKit‑related tasks. After app deletion, this daemon is not properly terminated. Reinstalling the app later causes interference that breaks ASMigrationDisplayItem.
This issue has blocked my development for a long time. I found a similar unresolved thread on Apple Developer Forums: https://developer.apple.com/forums/thread/839512
Questions:
- Is there any workaround I can adopt right now?
- Could Apple please investigate and fix this bug?