Apps Kit SDK logoApps Kit SDK
Документация · Интеграция с iOS

2. Настройка проекта Xcode — локальное подключение xcframework

Здесь нет ни слияния манифестов, ни URL репозитория — вы вручную подключаете два бинарных фреймворка к проекту Xcode (или используете скрипт настройки, если он есть у вашей команды).

2.1 Где разместить фреймворки

Поместите AKSKit.xcframework и AppsKit.xcframework непосредственно в папку, где находится ваш .xcodeproj, — то есть на одном уровне с Podfile и папкой исходного кода приложения, а не внутри неё и не в Pods/. Это важно, потому что Xcode находит фреймворк по простому относительному пути (дополнительная настройка FRAMEWORK_SEARCH_PATHS не нужна). Если переместить фреймворки, ссылки на них в файле проекта перестанут работать.

plaintext
YourApp/                          <- CocoaPods project root (Podfile lives here)
├── Podfile
├── AKSKit.xcframework/            <- sibling of the .xcodeproj
├── AppsKit.xcframework/           <- sibling of the .xcodeproj
├── YourApp.xcodeproj/
├── YourApp.xcworkspace/           <- open THIS, not the .xcodeproj, once Pods are installed
└── YourApp/                       <- your app target's source folder
    ├── AppDelegate.swift
    └── ...

2.2 Добавление фреймворков в таргет

В Xcode выберите таргет приложения → General → Frameworks, Libraries, and Embedded Content → добавьте оба файла .xcframework и установите Embed & Sign для каждого. В результате в проекте должны появиться:

  • запись PBXFileReference для каждого фреймворка с sourceTree = "<group>" и значением path без префикса папки;
  • оба фреймворка в разделе Link Binary With Libraries (этап PBXFrameworksBuildPhase);
  • оба фреймворка на этапе сборки Embed Frameworks, который копирует файлы (PBXCopyFilesBuildPhase, dstSubfolderSpec = 10), с атрибутами CodeSignOnCopy + RemoveHeadersOnCopy — именно такие настройки создаются при выборе "Embed & Sign" в интерфейсе Xcode.

Также убедитесь, что LD_RUNPATH_SEARCH_PATHS содержит @executable_path/Frameworks. Xcode добавляет этот путь автоматически при встраивании фреймворка через интерфейс; он позволяет загружать встроенные и подписанные фреймворки во время выполнения приложения.

Если вы настраиваете проект скриптом, а не через интерфейс Xcode (например, на этапе настройки в CI), в project.pbxproj нужно добавить именно эти три компонента: ссылку на файл, этап линковки и этап встраивания.

2.3 Открывайте рабочую область, а не проект

После выполнения pod install откройте YourApp.xcworkspace. Именно эта рабочая область связывает таргет приложения с Pods.xcodeproj, созданным CocoaPods. Если открыть .xcodeproj напрямую, зависимости из Podfile не будут корректно подключены при сборке.