Перейти к основному содержимому

iOS-приложение

Это руководство предназначено для разработчиков, которые собирают или настраивают iOS-приложение-компаньон LeadHub. Исходный код приложения написан на Swift и поддерживает iPhone и iPad.


Требования

  • Xcode 15 или новее (только macOS)
  • Swift 5.9 или новее
  • Минимальная цель развёртывания iOS: iOS 15.0
  • Учётная запись Apple Developer (необходима для TestFlight и распространения через App Store)
  • Экземпляр LeadHub с действующим HTTPS-URL и активным API-ключом

Настройка проекта

  1. Откройте папку ios/ из вашей покупки LeadHub в Xcode.
  2. Откройте файл .xcworkspace (не .xcodeproj), если присутствуют зависимости CocoaPods или Swift Package Manager.
  3. Выберите свою команду разработки в настройках Signing & Capabilities проекта.
  4. Соберите и запустите приложение на симуляторе или устройстве.

Архитектура

Приложение использует стандартную iOS-архитектуру:

  • URLSession с пользовательским API-клиентом для HTTP-вызовов к LeadHub REST API
  • Combine или async/await для асинхронных операций
  • SwiftUI для пользовательского интерфейса
  • CoreData для локального кэширования лидов между сеансами
  • Apple Push Notification Service (APNs) для push-уведомлений

API-ключи хранятся в iOS Keychain с использованием фреймворка Security.


Процесс аутентификации

  1. Пользователь вводит URL экземпляра LeadHub и API-ключ на экране первоначальной настройки.
  2. Приложение отправляет запрос GET /api/v1/health, чтобы проверить доступность экземпляра по HTTPS.
  3. Проверяет действительность API-ключа с помощью тестового аутентифицированного запроса.
  4. URL и API-ключ сохраняются в Keychain.

Push-уведомления

Push-уведомления используют Apple Push Notification Service (APNs).

  1. В учётной записи Apple Developer создайте ключ APNs (файл .p8) в разделе Certificates, Identifiers & Profiles → Keys.
  2. Запишите Key ID и Team ID.
  3. В конфигурации бэкенда LeadHub задайте APNS_KEY, APNS_KEY_ID, APNS_TEAM_ID и APNS_BUNDLE_ID.
  4. В Xcode включите функцию Push Notifications в разделе Signing & Capabilities.

При первом запуске приложение регистрируется для получения push-уведомлений и отправляет токен устройства в бэкенд LeadHub через API.


Сборка для распространения

  1. Создайте архив приложения через Product → Archive в Xcode.
  2. В окне Organizer нажмите Distribute App.
  3. Выберите App Store Connect для распространения через App Store или TestFlight для бета-тестирования.
  4. Следуйте инструкциям Xcode для загрузки.

Используемые API-эндпоинты

ЭндпоинтНазначение
GET /api/v1/healthПроверить подключение к экземпляру
GET /api/v1/leadsЗагрузить список лидов
GET /api/v1/leads/{id}Загрузить детали лида
PATCH /api/v1/leads/{id}Обновить статус или этап лида
POST /api/v1/leads/{id}/tagsДобавить тег к лиду
GET /api/v1/pipelinesЗагрузить список воронок для выбора этапа

Минимально необходимые права API-ключа

ПравоПричина
read:leadsПросмотр лидов
write:leadsОбновление статуса, этапа и тегов лида
read:pipelinesЗаполнение выбора этапа воронки

Раскрытие информации о конфиденциальности в App Store

При отправке в App Store укажите следующее использование данных в разделе App Privacy:

  • Контактная информация (электронная почта, телефон) — собирается от лидов, не от пользователей
  • Идентификаторы (API-ключ) — привязан к пользователю, используется для аутентификации
  • Данные об использовании — не собираются