App ID и идентификаторы в Apple Developer: настройка
App ID определяет, какие возможности доступны приложению и как оно идентифицируется в экосистеме Apple. Эта статья разбирает настройку подробнее, дополняя общий обзор Certificates, Identifiers & Profiles.
Explicit vs Wildcard App ID
Apple позволяет создать App ID двумя способами:
Explicit App ID
Точный идентификатор для одного конкретного приложения, например com.yourcompany.appname. Обязателен, если приложению нужны конкретные capabilities — push-уведомления, iCloud, In-App Purchase, Sign in with Apple и большинство других продвинутых возможностей.
Wildcard App ID
Использует шаблон вроде com.yourcompany.*, покрывающий сразу несколько приложений одним идентификатором. Подходит только для очень простых приложений без специальных capabilities — большинство современных приложений это ограничение не устраивает.
Практическая рекомендация: используйте Explicit App ID почти всегда, даже для простых приложений — это избавляет от необходимости пересоздавать конфигурацию, если позже потребуется добавить capability.

Формат Bundle ID
Bundle ID (соответствует App ID) традиционно записывается в формате обратного домена: com.company.appname. Требования:
- только буквы, цифры и точки;
- должен быть глобально уникальным в системе Apple — если он уже занят другим разработчиком, потребуется другой;
- рекомендуется привязывать к реально контролируемому вами домену, чтобы избежать конфликтов и для единообразия с другими сервисами (например, Universal Links).
Как создать App ID
- developer.apple.com/account → Certificates, Identifiers & Profiles → Identifiers.
- Нажмите «+».
- Выберите «App IDs» → Continue.
- Выберите тип «App» (в отличие от App Clip или других специальных типов).
- Укажите описание (для внутренней идентификации в списке) и Bundle ID.
- Отметьте нужные capabilities — список зависит от того, какие сервисы Apple использует приложение.
- Нажмите «Register».
Управление capabilities после создания
Capabilities можно добавлять к уже существующему App ID в любой момент через ту же страницу Identifiers — но после изменения нужно пересоздать связанные provisioning-профили, иначе Xcode не увидит новую возможность при сборке.
Некоторые capabilities требуют дополнительной настройки за пределами портала Apple Developer:
- Push-уведомления — требуют дополнительно ключ или сертификат для APNs (Apple Push Notification service).
- Sign in with Apple — требует настройки Return URL и связанных доменов, если используется веб-версия.
- App Groups — требует создания отдельного идентификатора App Group и привязки его к нужным App ID.

Частые ошибки при настройке
- Использование Wildcard App ID для приложения, которому позже понадобился push — приходится создавать новый Explicit App ID и пересобирать весь процесс подписи заново.
- Bundle ID, не совпадающий между Xcode и порталом — частая причина ошибок сборки; Bundle ID в настройках таргета Xcode должен точно совпадать с зарегистрированным на портале.
- Забытая привязка capability после её включения на портале — саму capability нужно также включить в самом проекте Xcode (Signing & Capabilities), регистрация на портале не делает этого автоматически.
Частые вопросы
Можно ли переименовать Bundle ID после публикации приложения?
Нет, смена Bundle ID уже опубликованного приложения фактически означает создание нового приложения с точки зрения Apple — вся история отзывов и рейтинга не переносится.
Нужен ли отдельный App ID для watchOS/macOS версии одного приложения?
Обычно да, для расширений и сопутствующих приложений (watch extension, widget) создаются отдельные App ID, логически связанные с основным через общий префикс Bundle ID.
Что делать, если нужный Bundle ID уже занят?
Если он занят вашим собственным старым проектом — можно освободить его, удалив старый App ID (если он не используется активно). Если занят другим разработчиком — потребуется выбрать другой Bundle ID.
Этот материал независим и не аффилирован с Apple Inc. Официальная документация — на developer.apple.com/account/resources/identifiers.
Читайте также: Сертификаты, идентификаторы и профили: гайд для новичков · Provisioning-профили в Apple Developer: создание и управление · Apple Developer API и App Store Connect API: начало работы