đŸ”Ŧ

Ios

v1.7.0Apache 2.0

iOS development validation with Xcode build hooks.

Installation

Install han binary (required for hooks to work):

curl -fsSL https://han.guru/install.sh | bash

Then install this plugin:

han plugin install ios

Overview

iOS development validation with Xcode build hooks for Claude Code.

Features

  • Automatic build validation: Ensures your iOS project compiles after agent changes
  • Smart caching: Only builds when Swift, Objective-C, or project files have changed
  • Simulator build: Uses iOS Simulator to avoid code signing requirements

Installation

bash
han plugin install ios

Hooks

build (Stop hook)

Automatically runs when you stop Claude Code to ensure the iOS project builds:

  • Detects directories containing .xcodeproj or .xcworkspace
  • Only runs if Swift, Objective-C, XIB, Storyboard, or project files have changed
  • Builds for iOS Simulator (no code signing required)
  • Auto-detects the first available scheme

Configuration

You can customize the hook behavior in your project's han-config.yml:

yaml
ios:
  hooks:
    build:
      enabled: true
      # Override with a specific scheme and destination
      # command: "xcodebuild -scheme MyApp -destination 'platform=iOS Simulator,name=iPhone 16' build CODE_SIGNING_ALLOWED=NO"

To disable the hook for a specific project:

yaml
ios:
  hooks:
    build:
      enabled: false

Requirements

  • macOS with Xcode installed
  • Xcode Command Line Tools (xcode-select --install)
  • iOS Simulator runtime

Notes

  • The build uses CODE_SIGNING_ALLOWED=NO to skip code signing
  • Build output is limited to the last 20 lines to keep hook output concise
  • For workspaces with CocoaPods, ensure pod install has been run

Related Plugins

  • swift: Swift language skills and SwiftLint validation
  • objective-c: Objective-C development skills

Skills

Hooks

âš ī¸

Token Usage Notice

Hooks run automatically during Claude Code sessions and their output is sent to the model for processing. This may increase token usage and associated costs. Consider disabling hooks you don't need via han-config.yml.

🛑

Stop

Runs when the main Claude Code agent has finished responding. Can verify task completion, check quality gates, or ensure documentation requirements are met before the session ends.