- iPhone: iPhone 12 Pro, 13 Pro, 14 Pro, or 15 Pro (MUST have LiDAR)
- Mac: Any Mac with Xcode 14 or later
- Cable: USB-C to Lightning cable (or USB-C to USB-C for iPhone 15)
- Time: ~10 minutes to setup and test
-
Clone the repository:
git clone https://github.com/CodeWithInferno/I.R.I.S.git cd I.R.I.S/LiDARObstacleDetection -
Open in Xcode:
- Double-click
LiDARObstacleDetection.xcodeproj - OR right-click → Open With → Xcode
- Wait for Xcode to load (may take 30 seconds)
- Double-click
- Connect your iPhone to Mac using cable
- Unlock your iPhone and keep it unlocked
- Trust dialog will appear on iPhone:
- Tap "Trust"
- Enter your passcode
- Wait for Mac to recognize device
- Look at the top toolbar in Xcode
- Click the device selector (next to the play button)
- Select your iPhone's name from the list
- If you see
⚠️ warnings, that's normal - continue
- Click "LiDARObstacleDetection" in left sidebar (project name)
- Select "Signing & Capabilities" tab
- Under Team dropdown:
- Select "Add an Account..." if no team shown
- Sign in with ANY Apple ID (personal is fine)
- Select your account from Team dropdown
- Change Bundle Identifier to something unique:
- Current:
com.obstacle.detection.lidar - Change to:
com.yourname.lidar.test - (Use your actual name to avoid conflicts)
- Current:
- Click the Play button (
▶️ ) or pressCmd + R - First time running? You'll see an error. That's normal!
- Xcode will show "Could not launch app" - here's the fix:
On your iPhone:
- Open Settings
- Go to General → VPN & Device Management
- Under "Developer App" section, tap your email
- Tap "Trust [Your Email]"
- Tap "Trust" again in popup
Back in Xcode:
- Click the Play button again
- App should now launch!
- Hold iPhone at chest height (not too high, not too low)
- Point forward like taking a photo
- The app needs to see obstacles at body level
Feel these patterns on your phone:
- 4 quick taps (dots) = Turn LEFT
- 1 long vibration (dash) = Turn RIGHT
- 2 gentle taps = Go STRAIGHT (path clear)
- Continuous buzz = STOP (too close!)
-
Create simple obstacle course:
- Place 3-4 chairs in a path
- Add a table or box as obstacle
- Leave enough space to walk around
-
Testing steps:
- Put on blindfold
- Hold phone at chest height
- Walk slowly forward
- Feel the haptic feedback
- Follow the directions
-
What should happen:
- When approaching obstacle → Feel vibration
- Phone guides you left or right
- When path is clear → Two taps
- If too close → Continuous warning
- Make sure you're using iPhone 12 Pro or newer (needs LiDAR)
- iPhone 12 (regular) won't work - needs Pro model
- Check phone isn't on silent mode
- Settings → Sounds & Haptics → System Haptics = ON
- Make sure you're holding phone at correct height
- Delete app from phone
- Clean build: Xcode → Product → Clean Build Folder
- Try building again
- Change Bundle ID to something unique
- OR use a different Apple ID for signing
- Hold phone higher (chest level)
- Point slightly upward
- App ignores floor automatically but needs correct angle
- We added 2.5 second delay between feedback
- Only one instruction at a time
- If still too much, walk slower
-
VoiceOver Compatible: If you have VoiceOver users, the app works perfectly with it enabled
-
Battery Efficient: Uses less than 5% battery per hour of continuous use
-
Best Testing Environment:
- Indoor spaces work best
- Good lighting isn't needed (LiDAR works in darkness)
- Avoid mirrors/glass (can confuse LiDAR)
-
Optimal Distance: Detects obstacles 0.5m to 5m away
- Show the app running on phone
- Explain the haptic patterns (dots = left, dash = right)
- Blindfold volunteer
- Have them navigate through obstacles
- Show they can walk without hitting anything
- Explain use case for blind users
- Simple morse code - anyone can learn in 2 minutes
- No audio needed - works in noisy environments
- Battery efficient - ARM optimization
- Privacy focused - all processing on-device
- Works in darkness - LiDAR doesn't need light
If you have ANY problems during judging, our team is at the venue. Look for team "I.R.I.S" or ask organizers.
The app is production-ready and tested. Good luck!