App Clip: ключевые понятия, лёгкая версия iOS приложения

Автор: IT Sectr Опубликовано: 2026-02-14 Время чтения: 12 мин

App Clip — лёгкая версия iOS приложения, которая запускается мгновенно без установки на устройство. Представленная в iOS 14, технология позволяет пользователю получить доступ к конкретной функции приложения через сканирование NFC-метки, QR-кода или App Clip Code. Размер App Clip не превышает 10 МБ, а запуск занимает менее двух секунд. Это решение Apple для мгновенного взаимодействия с нативным приложением без необходимости его полноценной установки.

Ключевые выводы

  • Мгновенный запуск — App Clip открывается за 1–2 секунды после сканирования NFC, QR или App Clip Code
  • Ограничение размера — бинарный файл App Clip не может превышать 10 МБ в сжатом виде
  • App Clip Code — собственный визуальный код Apple с встроенной NFC-меткой и URL-ссылкой
  • Общая кодовая база — App Clip и основное приложение используют один Xcode-проект с минимальной дополнительной настройкой
  • Одна задача — App Clip выполняет одно действие (заказ, оплата, бронь) и предлагает установить полную версию

Что такое App Clip?

App Clip — технология Apple для iOS, позволяющая запускать небольшую часть полноценного приложения без его установки. Когда пользователь сканирует NFC-метку, QR-код или App Clip Code, операционная система загружает и открывает App Clip в виде карточки поверх текущего экрана. Apple разработала App Clip для сценариев «оплатить, заказать или зарегистрироваться» — действий, которые должны выполняться без трения и ожидания.

App Clip работает в эпизодическом режиме. iOS хранит данные App Clip ограниченное время (обычно несколько дней или до явного удаления пользователем). Если пользователю снова требуется та же функция, App Clip загружается повторно. Apple намеренно ограничивает сохранение App Clip, стимулируя установку полного приложения для постоянного использования. Данные, созданные в App Clip, автоматически передаются в полное приложение при его установке через CloudKit.

Реальные примеры: сканирование NFC-метки на столе в ресторане для заказа и оплаты (Panera, Pizza Hut), QR-код на арендованном самокате для разблокировки (Lime, Bird), App Clip Code на паркомате для оплаты (PayByPhone), сканирование товара в магазине для покупки (Shopify). Все эти сценарии объединяет одно — транзакционная задача, которая выигрывает от отсутствия этапа установки.

Триггеры запуска: NFC, QR, App Clip Code

App Clip активируется через пять механизмов. Самые распространённые — NFC-метки (касание запускает App Clip), QR-коды (сканирование камерой показывает карточку App Clip внизу экрана) и App Clip Codes (фирменные визуальные коды Apple с узорчатой рамкой и встроенной NFC-меткой). Также App Clip запускается через Safari App Banner и ссылки в iMessage.

App Clip Code — запатентованная технология Apple. В отличие от QR-кодов, App Clip Codes выглядят эстетично — они поддерживают цвета бренда и логотип в центре, а URL кодируется в звукоподобных волнах по краям. Код содержит встроенную NFC-метку, обеспечивая двойной механизм запуска: визуальное сканирование и касание. Apple предоставляет инструменты генерации App Clip Code через портал App Store Connect.

swift
// SceneDelegate.swift — обработка запуска App Clip через NSUserActivity
import UIKit

class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?

    func scene(_ scene: UIScene,
                willContinueUserActivityWithType userActivityType: String) {
        // Подготовка к входящему NSUserActivity
    }

    func scene(_ scene: UIScene,
                continue userActivity: NSUserActivity) {

        guard let invocationURL = userActivity.webpageURL else { return }

        // Парсинг URL и переход на нужный экран
        handleInvocationURL(invocationURL)
    }

    private func handleInvocationURL(_ url: URL) {
        // Пример: /order/restaurantID — экран заказа
        // Пример: /pay/parkingID — экран оплаты
    }
}

Все триггеры в конечном счёте создают NSUserActivity с параметром webpageURL, который содержит контекст вызова. App Clip парсит этот URL и отображает соответствующий экран. App Clip также поддерживает геолокационные триггеры — iOS может предложить App Clip, когда пользователь находится рядом с определённым местом (например, возле кофейни с App Clip).

Разработка App Clip на Swift

Разработка App Clip начинается с существующего Xcode-проекта полноценного приложения. Вы добавляете новый target App Clip — он использует тот же проект, ту же команду и большую часть общего кода. Target App Clip включает только те файлы, сториборды и ресурсы, которые нужны для конкретной функции. Apple предоставляет шаблон App Clip с предварительно настроенными entitlements и ключами Info.plist.

swift
// AppClip/ProductViewModel.swift — общая логика между App Clip и полным приложением
import Foundation
import StoreKit

class ProductViewModel: ObservableObject {

    @Published var items: [Product] = []
    @Published var total: Decimal = 0

    func checkout() {
        // Отправка заказа через API
    }

    func showInstallPrompt() {
        // Показ SKOverlay для установки полного приложения
        guard let scene = UIApplication.shared()
            .connectedScenes
            .first(where: { $0 is UIWindowScene }) as? UIWindowScene else { return }

        let overlay = SKOverlay(configuration: SKOverlay.AppClipConfiguration(
            position: .bottom
        ))
        overlay.present(in: scene)
    }
}

// AppClip/MainViewController.swift — главный экран App Clip
class MainViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Компактный UI для карточки App Clip
        // Используем SF Symbols для снижения размера
        // Загружаем только данные для текущей транзакции
    }

    @IBAction func openFullApp(_ sender: Any) {
        // Открытие страницы приложения в App Store
        guard let url = URL(string: "https://apps.apple.com/app/id123456789") else { return }
        UIApplication.shared.open(url)
    }
}

Target App Clip использует тот же Apple Developer Team ID и Bundle ID, что и основное приложение (с суффиксом .Clip). Ключевые entitlements: com.apple.developer.app-clip и associated domains для обработки URL. App Clip поддерживает Apple Pay, Sign in with Apple, StoreKit для покупок и Core Location. Некоторые фреймворки недоступны: фоновые режимы, HealthKit, Media Library и отдельные сенсорные API.

Ограничения размера и оптимизация

Лимит размера App Clip строго контролируется Apple — не более 10 МБ в сжатом виде. Проверка выполняется на этапе загрузки в App Store; сборки, превышающие лимит, отклоняются. В размер входят бинарный код, ресурсы (сториборды, asset catalogs) и связанные фреймворки. Библиотеки Swift runtime входят в состав iOS и не учитываются, однако сторонние фреймворки увеличивают размер.

Метод оптимизацииЭффектПримечания
Thinning asset catalogs30–60%Один масштаб изображений (3x), исключение неиспользуемых device idioms
SF SymbolsЗначительноСистемные иконки бесплатны — не включайте кастомные
SwiftUI вместо UIKit20–30%SwiftUI требует меньше связанных фреймворков
Минимум зависимостейПеременныйПодключайте только фреймворки, нужные для функции App Clip
On-demand ресурсыПеременныйЗагрузка некритичных данных (изображения) после запуска
Стриппинг кода10–40%Dead code stripping и whole-module optimization в Swift

Xcode предоставляет отчёт о размере App Clip в Organizer после архивации. Отчёт разбивает размер по компонентам (код, ресурсы, фреймворки) и показывает оценочный размер загрузки. Apple рекомендует держать App Clip в пределах 8 МБ для учёта вариаций сжатия в разных каналах доставки.

Пользовательский сценарий App Clip

Сценарий использования App Clip состоит из четырёх этапов. Обнаружение: пользователь встречает NFC-метку, QR-код или App Clip Code в физическом мире. Запуск: сканирование или касание загружает App Clip (менее 2 секунд, обычно 1 секунда). Взаимодействие: App Clip открывается в виде карточки с единственной функцией — экран заказа, оплаты или бронирования. Завершение: пользователь выполняет задачу и видит предложение установить полное приложение через SKOverlay или ссылку на App Store.

Apple уделяет особое внимание конфиденциальности в App Clip. Система запрашивает разрешения на камеру, геолокацию и уведомления отдельно для App Clip. Данные, созданные в App Clip (платёжная информация, предпочтения), хранятся локально и передаются в полное приложение через CloudKit при его установке. App Clip не может запрашивать чувствительные разрешения (Health, Motion, Media Library) — для этого требуется установка полного приложения.

Важная особенность — SKOverlay, нативный элемент iOS, который отображается в нижней части экрана App Clip и предлагает установить полное приложение. SKOverlay не требует перехода в App Store и работает в контексте текущего приложения. Пользователь может установить полное приложение в один tap, а App Clip автоматически передаёт все созданные данные после установки.

App Clip против Android Instant App

ХарактеристикаApp Clip (iOS)Instant App (Android)
Лимит размера10 МБ сжатый10 МБ общий
Методы запускаNFC, QR, App Clip Code, Safari, iMessage, геолокацияDeep links, Google Play «Попробовать», NFC, QR
РазработкаXcode + Swift (один target)Android Studio + Kotlin (feature modules)
ПоддержкаiOS 14+ (iPhone, iPod touch)Android 5.0+ (API 21+)
Хранение данныхВременное, передаётся в полное приложениеВременное (cookie API), передаётся
МонетизацияApple Pay, StoreKitGoogle Pay, Google Play Billing
Визуальный триггерApp Clip Code (собственный формат)Стандартные QR-коды

Обе технологии — App Clip и Android Instant App — решают одну задачу: мгновенный запуск нативного приложения без установки, но используют разные платформенные подходы. App Clip более ограничен (только iOS, меньшая экосистема), но предлагает глубокую интеграцию с Apple Pay и экосистемой устройств Apple. Instant Apps выигрывают за счёт более широкого охвата Android и гибких триггеров, включая стандартные QR-коды без дополнительной инфраструктуры.

Часто задаваемые вопросы

На каких устройствах работают App Clips?

App Clips требуют iOS 14 или новее и работают на iPhone 6s и новее, iPod touch (7-го поколения) и всех iPad с чипом A9 или новее. Сканирование App Clip Code доступно через встроенное приложение Камера. Запуск через NFC-метки требует iPhone XR/XS или новее (iPhone 7/8 могут читать NFC, но не запускать App Clip).

Можно ли опубликовать App Clip без основного приложения?

Нет, App Clip обязательно должен быть связан с полноценным iOS приложением в App Store. App Clip не может быть опубликован самостоятельно. Полное приложение и App Clip используют один Apple Developer Team ID и Bundle ID (с суффиксом .Clip). Apple позиционирует App Clip как входную точку к полному приложению, а не как самостоятельный механизм распространения.

Какой размер должен быть у App Clip?

Максимальный размер App Clip — 10 МБ в сжатом виде. Apple строго проверяет это ограничение при загрузке в App Store. Рекомендуется держать размер в пределах 8 МБ для учёта различий в сжатии. Используйте SF Symbols, SwiftUI и минимизируйте сторонние зависимости для соблюдения лимита.

Могут ли App Clips отправлять push-уведомления?

Нет, App Clips не могут отправлять push-уведомления. Apple намеренно заблокировала эту возможность для предотвращения спама. Локальные уведомления разрешены в пределах короткого времени жизни App Clip. Для уведомлений пользователь должен установить полное приложение. Это ключевое отличие от PWA и полноценных нативных приложений.

Что происходит с данными App Clip после использования?

iOS хранит данные App Clip ограниченное время (обычно 7–30 дней бездействия). Если пользователь устанавливает полное приложение, данные автоматически передаются через CloudKit. Если установка не происходит, iOS удаляет App Clip и его данные. Пользователь также может вручную удалить App Clip через Настройки в разделе «App Clips».

Сколько времени занимает разработка App Clip?

Для простого сценария (заказ + оплата) добавление App Clip к существующему iOS приложению обычно занимает 2–4 недели для одного разработчика. App Clip использует большую часть кодовой базы основного приложения, поэтому затраты значительно ниже, чем создание отдельного приложения с нуля. Основное время уходит на оптимизацию размера и настройку триггеров.

Какие фреймворки доступны в App Clip?

App Clip поддерживает Apple Pay, Sign in with Apple, StoreKit, Core Location, MapKit и PushKit (только для VoIP). Недоступны HealthKit, ResearchKit, HomeKit, CarPlay, Metal (в полном объёме), фоновые режимы (background fetch, location updates) и Media Library. App Clip также не может получать доступ к микрофону и некоторым датчикам устройства.

Краткое резюме

  • App Clip — лёгкая версия iOS приложения (до 10 МБ), запускаемая без установки через NFC, QR или App Clip Code
  • Триггеры — NFC-метки, QR-коды, App Clip Codes, Safari App Banner, ссылки iMessage и геолокация
  • Разработка на Swift — App Clip использует общий Xcode-проект с полным приложением и отдельный target
  • Оптимизация размера — SF Symbols, SwiftUI, thinning ресурсов и минимизация зависимостей для соблюдения лимита 10 МБ
  • Ограниченная функциональность — App Clip выполняет одну задачу (оплата, заказ, бронь), затем предлагает установить полное приложение
  • Платформа iOS — технология доступна на iOS 14+; аналог на Android — Google Play Instant
  • Лучшие сценарии — взаимодействие с физическим миром: рестораны, аренда самокатов, парковка, покупка билетов

Мы разработаем мобильное приложение под ключ

IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.

Обсудить проект

Читайте также