Skip to content

Add CocoaPods support for LookInside libraries#29

Open
wangwanjie wants to merge 17 commits into
LookInsideApp:mainfrom
wangwanjie:feature/vanjay/kg_main
Open

Add CocoaPods support for LookInside libraries#29
wangwanjie wants to merge 17 commits into
LookInsideApp:mainfrom
wangwanjie:feature/vanjay/kg_main

Conversation

@wangwanjie

Copy link
Copy Markdown

Summary

  • Add CocoaPods podspecs for LookinServerBase, LookinCore, LookinShared, LookinServer, LookinServerDynamic, and LookinServerInjected.
  • Use pod dependencies instead of duplicating dependency sources across podspecs.
  • Fix LookinCore header imports for CocoaPods while keeping SwiftPM header search paths working.
  • Declare iOS, tvOS, and macOS deployment targets in podspec metadata and handle tvOS-specific unavailable APIs.

Verification

  • pod ipc spec for all added podspecs
  • CocoaPods iOS Demo build
  • Temporary macOS 13 CocoaPods install and LookinServer build
  • Temporary tvOS CocoaPods install and LookinServer build
  • swift build --package-path LookInside

@wangwanjie wangwanjie force-pushed the feature/vanjay/kg_main branch from 4811bff to 56d2774 Compare June 13, 2026 09:33
wangwanjie and others added 14 commits June 14, 2026 12:21
Introduce `lookinside-mcp`, an optional MCP server that lets AI agents
inspect a running Debug build's UI through the same Peertalk plumbing
the macOS app uses — hierarchy, search, element details, screenshots,
highlight, layout/accessibility diagnostics, and a one-shot bug report.

Two new SPM units: LookinMCPCore (headless inspection client, JSON
shaping, diagnostics, secure-text redaction) and lookinside-mcp
(executable using modelcontextprotocol/swift-sdk over stdio). Reuses
LookinCore data models and the existing in-app LookinServer; license
gate is bypassed because it is enforced client-side, not by the
in-process server.
Codex CLI and Claude Code both use the canonical `<cli> mcp add <name>
[--env K=V] -- <command> [args]` form. The previous claude-code snippet
omitted the `--` separator, which works in practice but isn't the
documented syntax. Aligns both clients on the same shape and documents
the env-var passthrough.
Add three hierarchy right-click items in the macOS client:
- "Export node analysis data (incl. children)…" — recursive subtree as MCP-format JSON
- "Export this node's analysis data…" — single node only
- "Copy property data" — dashboard attributes as readable text to the pasteboard

New LKMCPNodeExporter reimplements the Swift JSONShape.Node schema in ObjC
(oid/className/role/frame/bounds/alpha/hidden/text/accessibility*/path/children)
plus a full per-node `attributes` dump; exports go through an NSSavePanel.
Register the files in the Xcode synchronized-group membership lists and add
zh-Hans localizations for the new menu strings.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants