260 lines
6.6 KiB
Markdown
260 lines
6.6 KiB
Markdown
# iPhone Mirroring Troubleshooting
|
|
|
|
## Issue
|
|
iPhone Mirroring shows "Unable to Connect to iPhone" error, even though:
|
|
- ✅ Same iPhone works on another MacBook
|
|
- ✅ iPhone is near the Mac, powered on
|
|
- ✅ iPhone is running iOS 18 or later
|
|
|
|
## Requirements Checklist
|
|
|
|
### iPhone Requirements
|
|
- [ ] iOS 18.0 or later
|
|
- [ ] Bluetooth enabled
|
|
- [ ] Wi-Fi enabled
|
|
- [ ] Signed in to iCloud with same Apple ID as Mac
|
|
- [ ] iPhone is unlocked (or recently unlocked)
|
|
- [ ] iPhone is near the Mac (within Bluetooth range)
|
|
|
|
### Mac Requirements
|
|
- [ ] macOS Sequoia 15.0 or later
|
|
- [ ] Bluetooth enabled
|
|
- [ ] Wi-Fi enabled
|
|
- [ ] Signed in to iCloud with same Apple ID as iPhone
|
|
- [ ] Continuity features enabled
|
|
|
|
## Common Causes & Solutions
|
|
|
|
### 1. Different iCloud Account
|
|
**Most Common Issue**: Mac and iPhone signed in to different iCloud accounts
|
|
|
|
**Check:**
|
|
```bash
|
|
# On Mac - check iCloud account
|
|
defaults read MobileMeAccounts Accounts | grep AccountID
|
|
|
|
# Or check System Settings → Apple ID
|
|
```
|
|
|
|
**Fix:**
|
|
- System Settings → Apple ID → Sign in with same account as iPhone
|
|
- iPhone: Settings → [Your Name] → Verify Apple ID matches
|
|
|
|
### 2. Continuity Features Disabled
|
|
**Check:**
|
|
- System Settings → General → AirDrop & Handoff
|
|
- Ensure "Handoff" is enabled
|
|
- Ensure "Allow Handoff between this Mac and your iCloud devices" is checked
|
|
|
|
**Fix:**
|
|
```bash
|
|
# Enable Handoff via command line
|
|
defaults write com.apple.coreservices.useractivityd.plist ActivityAdvertisingAllowed -bool true
|
|
defaults write com.apple.coreservices.useractivityd.plist ActivityReceivingAllowed -bool true
|
|
|
|
# Restart the service
|
|
killall sharingd
|
|
```
|
|
|
|
### 3. Bluetooth/Wi-Fi Issues
|
|
**Check:**
|
|
```bash
|
|
# Check Bluetooth status
|
|
system_profiler SPBluetoothDataType | grep -A 5 "State"
|
|
|
|
# Check Wi-Fi status
|
|
networksetup -getairportpower en0
|
|
```
|
|
|
|
**Fix:**
|
|
- Turn Bluetooth off and on: System Settings → Bluetooth
|
|
- Turn Wi-Fi off and on: System Settings → Wi-Fi
|
|
- Restart both devices
|
|
|
|
### 4. macOS Version Too Old
|
|
**Check:**
|
|
```bash
|
|
sw_vers
|
|
```
|
|
|
|
**Fix:**
|
|
- iPhone Mirroring requires macOS Sequoia 15.0 or later
|
|
- Update macOS: System Settings → General → Software Update
|
|
|
|
### 5. Firewall Blocking Connection
|
|
**Check:**
|
|
- System Settings → Network → Firewall
|
|
- Check if Firewall is enabled
|
|
|
|
**Fix:**
|
|
- Temporarily disable Firewall to test
|
|
- If it works, add exception for "Continuity" or "Handoff"
|
|
- Or ensure "Block all incoming connections" is NOT checked
|
|
|
|
### 6. Network Isolation
|
|
**Check:**
|
|
- Are Mac and iPhone on the same Wi-Fi network?
|
|
- Is there a VPN active on either device?
|
|
|
|
**Fix:**
|
|
- Connect both to same Wi-Fi network
|
|
- Disable VPN temporarily to test
|
|
- Ensure network allows device-to-device communication (not in guest/isolated mode)
|
|
|
|
### 7. Bluetooth Permissions
|
|
**Check:**
|
|
- System Settings → Privacy & Security → Bluetooth
|
|
- Ensure apps have Bluetooth access
|
|
|
|
**Fix:**
|
|
- Grant Bluetooth permissions if prompted
|
|
- Restart Mac after granting permissions
|
|
|
|
### 8. Stale Continuity Cache
|
|
**Fix:**
|
|
```bash
|
|
# Reset Continuity/Handoff cache
|
|
killall sharingd
|
|
killall bluetoothd
|
|
|
|
# Or restart Bluetooth daemon
|
|
sudo launchctl stop com.apple.bluetoothd
|
|
sudo launchctl start com.apple.bluetoothd
|
|
```
|
|
|
|
### 9. Reset Network Settings (Last Resort)
|
|
**On iPhone:**
|
|
- Settings → General → Transfer or Reset iPhone → Reset → Reset Network Settings
|
|
- This will reset Wi-Fi passwords but may fix connection issues
|
|
|
|
**On Mac:**
|
|
```bash
|
|
# Reset network location (less drastic)
|
|
sudo networksetup -setairportpower en0 off
|
|
sleep 2
|
|
sudo networksetup -setairportpower en0 on
|
|
```
|
|
|
|
## Diagnostic Commands
|
|
|
|
### Check Continuity Status
|
|
```bash
|
|
# Check Handoff status
|
|
defaults read com.apple.coreservices.useractivityd.plist
|
|
|
|
# Check Bluetooth connectivity
|
|
system_profiler SPBluetoothDataType | grep -i "connected\|paired"
|
|
```
|
|
|
|
### Check System Logs
|
|
```bash
|
|
# Check for iPhone Mirroring errors
|
|
log show --predicate 'eventMessage contains "iPhone Mirroring" or eventMessage contains "Continuity"' --last 1h --info
|
|
|
|
# Check Bluetooth errors
|
|
log show --predicate 'subsystem == "com.apple.bluetooth"' --last 1h --info | tail -50
|
|
```
|
|
|
|
### Check iCloud Account Match
|
|
```bash
|
|
# Mac iCloud account
|
|
defaults read MobileMeAccounts Accounts | grep -A 5 "AccountID"
|
|
|
|
# Compare with iPhone (check iPhone Settings → [Your Name])
|
|
```
|
|
|
|
### Test Bluetooth Connection
|
|
```bash
|
|
# List nearby Bluetooth devices
|
|
system_profiler SPBluetoothDataType | grep -A 10 "iPhone"
|
|
```
|
|
|
|
## Step-by-Step Troubleshooting
|
|
|
|
1. **Verify Requirements:**
|
|
- Check macOS version (must be 15.0+)
|
|
- Check iOS version (must be 18.0+)
|
|
- Verify same iCloud account on both devices
|
|
|
|
2. **Restart Services:**
|
|
```bash
|
|
killall sharingd
|
|
killall bluetoothd
|
|
```
|
|
|
|
3. **Restart Both Devices:**
|
|
- Restart Mac
|
|
- Restart iPhone
|
|
|
|
4. **Check System Settings:**
|
|
- System Settings → General → AirDrop & Handoff → Enable Handoff
|
|
- System Settings → Privacy & Security → Bluetooth → Ensure enabled
|
|
- System Settings → Network → Firewall → Check settings
|
|
|
|
5. **Try Again:**
|
|
- Make sure iPhone is unlocked
|
|
- Bring iPhone close to Mac
|
|
- Try connecting again
|
|
|
|
6. **If Still Not Working:**
|
|
- Sign out and sign back into iCloud on Mac
|
|
- Sign out and sign back into iCloud on iPhone
|
|
- Try again
|
|
|
|
## Comparison with Working MacBook
|
|
|
|
Since it works on another MacBook, compare:
|
|
|
|
1. **macOS Version:**
|
|
```bash
|
|
sw_vers # On both Macs
|
|
```
|
|
|
|
2. **iCloud Account:**
|
|
- Verify both Macs use same iCloud account
|
|
- Check System Settings → Apple ID
|
|
|
|
3. **System Settings:**
|
|
- Compare AirDrop & Handoff settings
|
|
- Compare Firewall settings
|
|
- Compare Bluetooth/Wi-Fi settings
|
|
|
|
4. **Network:**
|
|
- Are both Macs on same network?
|
|
- Any VPN differences?
|
|
|
|
## Quick Fix Script
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Quick fix for iPhone Mirroring issues
|
|
|
|
echo "Resetting Continuity services..."
|
|
killall sharingd 2>/dev/null
|
|
killall bluetoothd 2>/dev/null
|
|
|
|
echo "Restarting Bluetooth..."
|
|
sudo launchctl stop com.apple.bluetoothd 2>/dev/null
|
|
sudo launchctl start com.apple.bluetoothd 2>/dev/null
|
|
|
|
echo "Checking Handoff settings..."
|
|
defaults read com.apple.coreservices.useractivityd.plist ActivityAdvertisingAllowed
|
|
defaults read com.apple.coreservices.useractivityd.plist ActivityReceivingAllowed
|
|
|
|
echo "Done. Please restart your Mac and try again."
|
|
```
|
|
|
|
## Notes
|
|
|
|
- iPhone Mirroring requires **macOS Sequoia 15.0+** and **iOS 18.0+**
|
|
- Both devices must be on same Wi-Fi network (or have Wi-Fi enabled even if using cellular)
|
|
- Bluetooth must be enabled on both devices (used for proximity detection)
|
|
- Same iCloud account is **required** (not just signed in, but same account)
|
|
- Some corporate networks block device-to-device communication
|
|
- VPNs can interfere with Continuity features
|
|
|
|
|
|
|
|
|
|
|