Xcode doesn't see my iOS device but iTunes does
Interview Questions practice on Codemia
Over 8,000 real interview questions from top companies, searchable by company and role.
Introduction
If iTunes or Finder can see your iPhone but Xcode cannot, the USB connection itself is only part of the story. Xcode needs a developer-capable connection with pairing, device support files, and a compatible toolchain, so it can fail even when normal sync and file-transfer features still work.
Why Xcode and iTunes Behave Differently
The confusing part of this problem is that it looks like a cable issue, but often is not. Finder and older iTunes builds care mainly about device trust and media-management connectivity. Xcode needs more:
- a trusted pairing between the Mac and the device
- a supported iOS version for the installed Xcode build
- Developer Mode enabled on modern iOS versions
- working developer services on both the Mac and the phone
So “the phone appears in Finder” does not prove “the phone is ready for app deployment.”
First Checks That Solve Most Cases
Start with the quick items before touching caches or reinstalling anything.
- Unlock the device and keep it awake.
- Tap Trust if the trust prompt appears.
- On iOS 16 and later, confirm that Developer Mode is enabled.
- Open Xcode and check
Window -> Devices and Simulators. - Make sure the installed Xcode version supports the iOS version on the device.
The Xcode support matrix matters more than many people realize. If the phone is on a newer iOS release than your installed Xcode supports, Finder may still detect it while Xcode refuses to use it for development.
Developer Mode is another frequent blocker. A phone can charge, sync, and appear in Finder while still refusing development workflows until Developer Mode has been enabled and confirmed after restart.
Use Command-Line Tools to Confirm What Xcode Sees
Before making bigger changes, ask the Apple developer tools what they can see. On newer Xcode versions, devicectl is useful:
If the device appears there, the low-level developer tools can see it and the issue may be inside Xcode state, signing, or project settings. If it does not appear there, focus on pairing, cable quality, USB hubs, device support, or services on the Mac.
You can also confirm which Xcode installation is active:
That matters on systems with multiple Xcode versions. Sometimes the graphical app is updated, but command-line tools still point to an older installation.
Fixes That Address the Real Cause
If the quick checks do not work, move through a clean troubleshooting order.
1. Eliminate the physical path
Use a known-good data cable, not a charge-only cable. Connect directly to the Mac instead of through a hub or monitor. If possible, try another USB port.
2. Reset trust
On the phone, reset location and privacy settings, reconnect, and accept the trust prompt again. Pairing state occasionally becomes stale even though Finder continues to show the device.
3. Restart both sides
Restart the iPhone and restart the Mac. This sounds basic, but it resets several device communication services cleanly.
4. Check device support compatibility
If the device runs a newer iOS version than your Xcode supports, update Xcode first. Many “device not available” problems are simply version mismatch in disguise.
5. Reopen the device window
In Xcode, open Window -> Devices and Simulators and leave it visible while reconnecting the phone. Xcode often shows a more specific status there than it does in the toolbar.
Clean Local Xcode State Carefully
If the device is still missing, you can clear some local development state without touching the phone itself. A common safe cleanup is DerivedData:
That will force Xcode to rebuild indexes and project artifacts. It does not usually fix pairing issues directly, but it can remove stale metadata that confuses device deployment.
If you suspect multiple Xcode installs are conflicting, explicitly select the one you want:
After that, reopen Xcode and reconnect the device.
When the Device Is Visible but Still Unusable
Sometimes the device appears in Xcode but has a warning such as preparing support files, unavailable support, or locked for development. In that case, the connection exists, but developer setup is incomplete.
Typical causes include:
- the device is still locked
- Developer Mode has not been approved after reboot
- Xcode is downloading or preparing support files
- signing or team configuration prevents deployment even though the device is visible
That is a different problem from “Xcode cannot see the device at all,” so make sure you distinguish visibility issues from deployment issues.
Common Pitfalls
The most common pitfall is assuming Finder visibility proves full Xcode compatibility. It does not.
Another frequent issue is ignoring Xcode version support. A newer iOS release on the phone often requires a newer Xcode build on the Mac.
A third problem is using low-quality cables or USB hubs. Device charging can work even when developer communication is unreliable.
Finally, many developers skip Developer Mode checks on modern iOS versions. That setting is now part of the normal development path and can block deployment even when the device is otherwise trusted.
Summary
- Finder or iTunes seeing the device does not guarantee Xcode can use it for development.
- Check trust, Developer Mode, Xcode version support, and the
Devices and Simulatorswindow first. - Use
xcrun devicectl list devicesto see what the Apple developer toolchain detects. - Version mismatch and poor USB connectivity are two of the most common root causes.
- Separate “device not visible” from “device visible but not deployable,” because the fixes are different.
Related reading
- Xcode doesn't show the line that causes a crash
- Xcode error Code signing is required for product type 'Application' in SDK 'iOS 10.0
- Xcode error Could not find Developer Disk Image
- Xcode error Could not find Developer Disk Image
- Xcode Error on Simulator MGIsDeviceOneOfType is not supported on this platform
- Xcode failed to get the task for process
- Xcode error Failed to prepare device for development
- Xcode Error The app ID cannot be registered to your development team.
.png&w=3840&q=75)
Tackling System Design Interview Problems
A short course that equips you with the skills to approach system design interviews methodically.
Start the free courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
Interview Questions practice on Codemia
Over 8,000 real interview questions from top companies, searchable by company and role.