Apple Targets — скилл
Скилл Эвана Бэкона учит агента добавлять в Expo-приложение виджеты, App Clip, расширения Safari и другие нативные цели Apple
- 1 408 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Плагин при `prebuild` генерирует проект Xcode и файлы прав доступа в вашем репозитории
- Команда `create-target` и `prebuild` с флагом --clean пересоздают папку ios
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/apple-targetsОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Плагин при `prebuild` генерирует проект Xcode и файлы прав доступа в вашем репозитории
- Команда `create-target` и `prebuild` с флагом --clean пересоздают папку ios
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Apple Targets — конфиг-плагин Expo и скилл к нему. Плагин создает нативные цели Apple, например виджеты или App Clip, и подключает их к Xcode-проекту, не складывая в папку ios. Файлы цели лежат в корневой папке targets, поэтому при очередной команде `prebuild` с флагом --clean они не пропадают. Открыв проект в Xcode, цель разрабатывают в виртуальной папке expo:targets. Скилл apple-targets рассчитан на агента. Он содержит отдельные справочные документы для более чем сорока типов целей: виджеты, App Clip, расширения для общего доступа и уведомлений, приложения для watchOS, расширения Safari, App Intents, автозаполнение паролей и ключей доступа, контроль экранного времени. В каждом документе есть ссылки на документацию Apple и сессии WWDC, описание жизненного цикла, сценарии применения, готовый код на Swift, требования к версии системы и типичные ловушки. Когда пользователь просит домашний экран или меню «Поделиться», агент открывает нужный документ и настраивает цель через expo-target.config.js, где задаются параметры и права доступа.
Для кого. Мобильным разработчикам на React Native и Expo, которым нужны виджеты и расширения iOS, а Swift и Xcode даются хуже JavaScript.
Подходит, если
- В приложении на Expo нужен виджет на домашний экран, а нативный код придется писать на Swift
- К приложению добавляют App Clip или расширение Safari, и непонятно, какие файлы и права для него потребуются
- Агент должен подобрать подходящий тип расширения под задачу вроде «показывать данные на экране блокировки»
- Цель собирается в Xcode, но падает на подписи или правах доступа, и нужен разбор типичных ошибок
Не подходит, если
- Проект целиком на SwiftUI без Expo: плагин и скилл завязаны на непрерывную нативную генерацию (Continuous Native Generation) в Expo
- Приложение не использует `prebuild` и держит папку ios вручную
- Нужен только обычный экран внутри React Native: для этого расширение Apple не требуется
Пример запроса к агенту
Добавь в наше Expo-приложение виджет для домашнего экрана, который показывает дневную цель по шагам, и объясни, что нужно настроить в XcodeОграничения
Плагину нужны CocoaPods версии не ниже 1.16.2 на Ruby 3.2.0, Xcode 16 на macOS 15 и Expo SDK 53 или новее. Собрать и подписать цель можно только на Mac с Xcode и аккаунтом разработчика Apple. Сам скилл содержит справку и примеры, но не запускает сборку. Корневой Info.plist цели можно менять свободно, плагин его не трогает. Файлы с правами доступа создаются при `prebuild` и вручную не правятся. Для каждого типа цели в справочнике указана минимальная версия системы, и ее стоит сверять до начала работы.
Как отключить. Удалите скилл из .claude/skills или .agents/skills. Чтобы убрать плагин, удалите пакет @bacons/apple-targets и его запись в `plugins` файла app.json, затем папку targets и выполните `npx expo `prebuild` -p ios --clean`.
Частые вопросы
Как установить скилл apple-targets?
Выполните npx skills add EvanBacon/expo-apple-targets/tree/main/skills/apple-targets. Команда сама находит установленные агенты и копирует SKILL.md с документами в .claude/skills или .agents/skills.
Как создать первый виджет?
В проекте Expo выполните `npx `create-target` widget`. Команда создаст файлы в папке targets, поставит @bacons/apple-targets и добавит плагин в конфигурацию. Затем `npx expo `prebuild` -p ios --clean` соберет проект Xcode, его открывают командой `xed ios`.
Сколько типов расширений описывает скилл?
Больше сорока: в папке скилла около сорока шести документов. Среди них виджеты, App Clip, расширения для общего доступа, уведомлений и Safari, приложения для watchOS, App Intents и контроль экранного времени.
Где хранятся файлы цели, если папку ios можно пересоздавать?
В корневой папке targets. Каждая подпапка содержит expo-target.config.js, а плагин при `prebuild` связывает ее с Xcode. Ресурсы из подпапки `assets` подключаются к цели автоматически.
Нужен ли аккаунт разработчика Apple?
Для сборки и подписи цели нужен идентификатор команды Apple. Его указывают в ios.appleTeamId файла app.json или позже, на вкладке подписи (Signing) в Xcode.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыОфициальные скиллы Expo для агентов: сборка, деплой, обновление и отладка приложений на Expo и EAS
Скиллы для разработки под Apple: справочники по SwiftUI, UIKit и Liquid Glass, гайды по Swift 6 и маршрутизатор для задач iOS 26
Агент сверяет код приложения Apple с каждым пунктом правил App Store и показывает, что может привести к отказу при отправке
Набор скиллов по iOS 26+, Swift 6.3 и SwiftUI: агент получает знания по современным фреймворкам Apple
Два скилла для сборки мобильных экранов уровня топовых приложений: разбор чужих экранов через Appllama MCP и строгая планка нативной верстки на Expo и React Nat
Скилл, который для SwiftUI-приложения собирает встроенную съемку экранов и элементов и прогоняет ее по всем локалям для App Store
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Apple Targets (эта карточка) | нет | 1 408 | |
| Expo Skills | нет | 4 056 | официальные скиллы Expo про сборку, деплой и отладку приложения, а этот отвечает за нативные цели Apple внутри проекта |
| SwiftUI Expert Skill | нет | 3 830 | учит писать SwiftUI в нативном проекте, а здесь Swift-цели подключаются к приложению на Expo |
Коротко о README
README объясняет идею: цели Apple выносятся за пределы папки ios и переживают пересоздание проекта. Дальше идут шаги запуска от npx `create-target` до сборки в Xcode, принцип работы папки targets, настройка прав доступа и подробности по отдельным типам целей. Скилл для агентов лежит в каталоге skills/apple-targets.
Бейдж для README
Исходный SKILL.md
--- name: apple-targets description: Build, configure, and debug native Apple extension and target types (widgets, App Clips, share extensions, watchOS apps, Safari extensions, notification extensions, VPN/network extensions, and 40+ more) in an Expo app using the @bacons/apple-targets config plugin. Use when a user wants to add home screen presence, share sheets, custom keyboards, Siri/App Intents, push notification handling, AutoFill/passkeys, Screen Time controls, or any other Apple app extension to a React Native / Expo project. --- # Apple Extension Target Skills Reference This directory contains comprehensive skill documents for all supported Apple extension and target types. Each skill document provides everything an AI agent needs to understand, implement, and troubleshoot a specific Apple extension type, including: - Apple documentation links and WWDC session references - Runtime behavior and lifecycle explanation - Real-world use cases and implementation patterns - Production-ready Swift code examples - Platform availability and version requirements - Common gotchas and debugging tips ## Installing This Skill Install this skill into your coding agent (Claude Code, Cursor, Codex, etc.) with [`npx skills`](https://github.com/vercel-labs/skills): ```sh npx skills add EvanBacon/expo-apple-targets/tree/main/skills/apple-targets ``` The CLI auto-detects which agents you have installed and copies `SKILL.md` (plus the supporting reference docs in this directory) into the agent's skills directory (e.g. `.claude/skills/` or `.agents/skills/`). Once installed, the agent loads this guidance automatically whenever you ask it to build an Apple extension or target. ## How to Use These Skills **For AI Agents:** 1. **When a user asks about a specific extension type** (e.g., "How do I build a widget?" or "I need to add a share extension"), read the corresponding skill document to get complete implementation guidance. 2. **When planning a feature** that might require an extension (e.g., "Add home screen presence" → read `widget.md`), consult the skill document to understand requirements and constraints. 3. **When debugging extension issues**, refer to the "Gotchas" section of the relevant skill document — these capture common pitfalls from Apple Developer Forums and real-world experience. 4. **When uncertain which extension type fits a use case**, scan the "Use Cases" sections across related skills to find the best match. **Structure of Each Skill Document:** Every skill document follows the template defined in `_template.md`: - **Frontmatter**: Title, one-line description, minimum OS version - **Apple Documentation**: Official reference links - **WWDC History**: Session links showing evolution of the feature - **What It Does**: Step-by-step runtime behavior