-
Notifications
You must be signed in to change notification settings - Fork 0
Troubleshooting
Common issues and their solutions.
Symptoms: iPhone doesn't see the Mac in the device list
Solutions:
- Same Network: Ensure both devices are on the same WiFi network
- Restart Apps: Quit and relaunch both apps
- Check Firewall: Disable macOS firewall temporarily to test
-
Bonjour Services: Verify Info.plist has correct Bonjour entries:
<key>NSBonjourServices</key> <array> <string>_clickerremote._tcp</string> <string>_clickerremote._udp</string> </array>
Solutions:
- Disable VPN: VPNs can interfere with local network discovery
- Check WiFi: Ensure stable WiFi connection on both devices
- Bluetooth: Try connecting via Bluetooth instead (move devices closer)
Symptoms: Connected successfully but slides don't change
Solutions:
-
Grant Accessibility Permission:
- Go to System Settings → Privacy & Security → Accessibility
- Find and enable ClickerRemoteReceiver
- Restart the app: Click the menu bar icon → Debug → Restart App
- If already enabled, toggle off and on, then restart
-
Check Frontmost App: Ensure your presentation app (Keynote, PowerPoint) is in focus
-
Test with TextEdit: Open TextEdit and try — you should see left/right arrow behavior
Symptoms: Slides skip or behave unexpectedly
Solutions:
- Different presentation apps may use different keys
- ClickerRemote sends Right/Left arrow keys
- Most apps: Right = Next, Left = Previous
- Some apps may be configured differently
Solution:
- Open
project.yml - Find
DEVELOPMENT_TEAM: HD35YQ72U4 - Replace with your Team ID
- Run
xcodegen generate
Find your Team ID:
security find-identity -v -p codesigningCheck the log:
just notary-log
# Then view specific submission:
xcrun notarytool log <submission-id> --keychain-profile notarytool-profileCommon Causes:
| Error | Fix |
|---|---|
| Wrong certificate | Use "Developer ID Application", not "Apple Distribution" |
| Missing timestamp | Ensure --timestamp flag in signing |
| Debug entitlement | Build Release config, not Debug |
Verify Settings in project.yml:
configs:
Release:
CODE_SIGN_STYLE: Manual
CODE_SIGN_IDENTITY: "Developer ID Application"
CODE_SIGN_INJECT_BASE_ENTITLEMENTS: NO
OTHER_CODE_SIGN_FLAGS: "--timestamp"Solution: Specify OS version explicitly:
xcodebuild -scheme ClickeriOS \
-destination 'platform=iOS Simulator,name=iPhone 16,OS=18.2' \
buildList available destinations:
xcodebuild -scheme ClickeriOS -showdestinationsSymptoms: Apps build but can't discover each other
Solution: Verify project.yml has network permissions in info.properties:
info:
properties:
NSBonjourServices:
- _clickerremote._tcp
- _clickerremote._udp
NSLocalNetworkUsageDescription: "..."Keys must be in info.properties, not just the source Info.plist files.
Symptoms: Watch app shows "Disconnected", commands don't work
Solutions:
- iPhone app must be running: The Watch connects through the iPhone, not directly to the Mac
- Check iPhone connection: The iPhone must be connected to the Mac first
- Relaunch Watch app: Force-quit and reopen on the Watch
- Check WCSession: Ensure the Watch is paired and the Watch app is installed
Symptoms: Watch shows "Connected" but slides don't change
Solutions:
- iPhone screen locked: The iPhone disables auto-lock while connected, but if you manually lock it, the MultipeerConnectivity session drops. Unlock the iPhone to restore the connection
- iPhone app in background: Bring the ClickerRemote app to the foreground on the iPhone
- Retry mechanism: The Watch retries commands up to 3 times — wait a moment and try again
Solution: Long press (not tap) the timer display. You should feel a strong haptic pulse confirming the reset.
Check "No Going Back" setting: Open Watch Settings → ensure "No Going Back" is toggled off. When enabled, backward flick gestures are intentionally ignored and the previous-slide button is dimmed.
Check "Invert Gestures" setting: Open Watch Settings → toggle "Invert Gestures" to swap the forward/backward flick mapping. The footer text shows the current mapping (Clockwise → Next or Counterclockwise → Next).
Wrong:
Section("Header") {
// content
} footer: {
Text("Footer")
}Correct:
Section {
// content
} header: {
Text("Header")
} footer: {
Text("Footer")
}Symptoms: App immediately shows paywall
Solutions:
- Delete app and reinstall (trial is Keychain-stored)
- Check device date is correct
- Reset Keychain entry (development only):
// Delete: com.dou.clicker.trial.start from Keychain
Solutions:
- Tap "Restore Purchases" in paywall
- Ensure signed in with correct Apple ID
- Check App Store Connect for transaction status
find ~/Library/Developer/Xcode/DerivedData/Clicker-*/Build/Products \
-name "Info.plist" -exec plutil -p {} \;xcodebuild -project Clicker.xcodeproj -listxcrun devicectl list devicesxcrun simctl list devices availablecodesign -dv --verbose=4 /path/to/app- Search GitHub Issues
- Open a new issue with:
- macOS/iOS version
- Xcode version
- Steps to reproduce
- Error messages or logs