ios-log-diagnose

Diagnose iOS sync bugs by driving a simulator and reading OSLog output.

1.6k|73|Updated Mar 13, 2025
One-click install
npx skills add https://github.com/UniClipboard/UniClipboard --skill ios-log-diagnose
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ios-log-diagnose
Source: https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/ios-log-diagnose
Command: npx skills add https://github.com/UniClipboard/UniClipboard --skill ios-log-diagnose

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Debugging the UniClipboard iOS sync engine normally requires asking the user to reproduce a bug and paste logs, which is slow and error-prone. This Skill lets you boot a simulator, inject the required configuration, launch the app, and read its OSLog stream yourself to see exactly what the sync reducer decided and why.

Core Features & Use Cases

  • Automated Simulator Driving: Boots an iPhone simulator, installs the newest UniClipboard build, injects the Rust-core flag and an active server config, then relaunches the app so the sync engine starts ticking.
  • Two-Channel Log Reading: Streams live debug-level logs to watch per-tick reducer decisions (preamble, route, push) as they happen, or queries persisted notice/error logs to reconstruct what happened in the last N minutes.
  • Category Filtering: Narrows output to sync, network, store, app, or intents categories under the app.uniclipboard subsystem.
  • Use Case: A user reports that clipboard items are not syncing from their iPhone. You run the drive command against a dead server URL, stream the sync category for 15 seconds, and observe the reducer proceeding to getClipboard, failing, and entering backoff — pinpointing a connectivity failure without any user involvement.

Quick Start

Ask the assistant to drive the UniClipboard iOS app in a simulator and stream its sync logs to diagnose why clipboard sync is failing.

Frequently Asked Questions about ios-log-diagnose

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I read iOS simulator logs for app debugging?

Use `log stream` for live debug-level output and `log show --last <duration>` for persisted notice and error logs, filtered by subsystem predicate. The ios-logs.sh helper wraps these commands with the correct `app.uniclipboard` predicate and a timeout, since macOS lacks the `timeout` command.

How do I debug why iOS clipboard sync is not working?

Run the drive command to boot a simulator, install the app, and inject an active server, then stream the `sync` category logs. The SyncEngine logs every reducer decision — preamble, route, apply, push — so you can see exactly where the sync cycle fails.

What is the difference between log stream and log show on macOS?

`log stream` captures live output including debug-level messages that are never persisted to disk, while `log show` queries the persisted log store containing only notice and error levels. Use stream to watch decisions in real time and show to reconstruct past events.

Why do I see no sync logs from the iOS app?

The sync engine only ticks when an active server is configured, so logs stay silent without one. The drive command injects a server config into the App Group defaults and relaunches the app; also verify a built UniClipboard.app exists in DerivedData.

Can I see clipboard content in the iOS sync logs?

No. The logs never contain clipboard content — only states, booleans, counts, decision enums, and an 8-character hashTag prefix. The hashTag is a one-way SHA fingerprint that lets you correlate one item across pull, stage, apply, push, and converge events.