# audioaccessorykit

Помогает настроить автопереключение звука для сторонних Bluetooth-наушников через AudioAccessoryKit в iOS 26.4+. Пригодится при интеграции companion app и расширений.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 3000 установок · ★ 1237
- Автор: dpearson2699
- Лицензия: LicenseRef-Unknown · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/dpearson2699/swift-ios-skills/tree/HEAD/skills/audioaccessorykit/SKILL.md
- Обновлён: 2026-07-31
- HTML: https://affpapa.org/nevibecode/skills/audioaccessorykit

## Что делает

Скилл даёт инструкции по работе с фреймворком AudioAccessoryKit, представленным в iOS 26.4 и iPadOS 26.4. Он объясняет, как связать сопутствующее приложение и системное аудио. Сначала устройство спаривают через AccessorySetupKit, получая объект `ASAccessory`. Затем контейнер регистрирует возможности через `AccessoryControlDevice.register`. Позиционирование гарнитуры и адреса подключённых источников передаёт уже расширение приложения.

Внутри расширения применяется строгий порядок обновления состояния. Метод `current(for:)` получает текущий конфиг, после чего изменённые данные отправляются вызовом `update(_:)`. Поддерживаются состояния ношения вроде `.inEar` или `.offHead`, а также передача Bluetooth-адресов источников в виде `Data`. Фреймворк не предназначен для базовой маршрутизации `AVAudioSession` или низкоуровневого Bluetooth-транспорта.

В тулчейне Xcode 26.6 библиотека есть только в SDK для реальных устройств, но отсутствует в iPhone Simulator 26.5 SDK. Для проверки понадобится физическое устройство. Сборку под симулятор придётся закрывать проверкой `#if canImport(AudioAccessoryKit)`.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill audioaccessorykit -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/audioaccessorykit/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/audioaccessorykit/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill audioaccessorykit -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/audioaccessorykit/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill audioaccessorykit -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/audioaccessorykit/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install dpearson2699/swift-ios-skills audioaccessorykit
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/audioaccessorykit/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill audioaccessorykit -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/dpearson2699/swift-ios-skills --path skills/audioaccessorykit
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/audioaccessorykit/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill audioaccessorykit -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/dpearson2699/swift-ios-skills/tree/HEAD/skills/audioaccessorykit/SKILL.md

## Когда брать
- зарегистрировать Bluetooth-аксессуар через `AccessoryControlDevice` после спаривания
- передать состояние ношения наушников из расширения приложения в систему
- настроить идентификаторы Bluetooth-источников для автопереключения звука
- защитить сборку проекта под симулятор заглушками `#if canImport(AudioAccessoryKit)`

## Примеры запросов агенту
- Напиши регистрацию аксессуара с поддержкой `.audioSwitching` и `.placement` в AudioAccessoryKit.
- Покажи, как обновить статус `.inEar` через `AccessoryControlDevice` внутри app extension.
- Как безопасно собрать проект с AudioAccessoryKit для симулятора в Xcode 26.6?

## Похожие
- [swiftdata-pro](https://affpapa.org/nevibecode/skills/swiftdata-pro.md) — скилл · 9300 установок
- [cmux-architecture](https://affpapa.org/nevibecode/skills/cmux-architecture.md) — скилл · 4900 установок
- [swiftui-patterns](https://affpapa.org/nevibecode/skills/affaan-m-swiftui-patterns.md) — скилл · 4600 установок
- [swift-expert](https://affpapa.org/nevibecode/skills/swift-expert.md) — скилл · 4100 установок
- [spm-build-analysis](https://affpapa.org/nevibecode/skills/spm-build-analysis.md) — скилл · 3400 установок
- [xcode-compilation-analyzer](https://affpapa.org/nevibecode/skills/xcode-compilation-analyzer.md) — скилл · 3400 установок

Из того же набора: [dpearson2699/swift-ios-skills](https://affpapa.org/nevibecode/by/dpearson2699/swift-ios-skills.md) — 86 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
