Начало работы с расширениями iOS

Важно!

Прекращение поддержки Центра приложений Visual Studio запланировано на 31 марта 2025 г. Хотя вы можете продолжать использовать Центр приложений Visual Studio до полного прекращения его использования, существует несколько рекомендуемых вариантов, на которые можно перейти.

Узнайте больше о сроках поддержки и альтернативных вариантах.

Расширения приложений поддерживают только отчеты о сбоях.

Сведения о добавлении пакета SDK центра приложений в приложение-контейнер см. в документации по центру приложений для iOS начало работы.

Давайте приступим к настройке пакета SDK центра приложений для iOS в расширении приложения для использования сбоев Центра приложений.

1. Предварительные требования

Чтобы использовать пакет SDK для Центра приложений, необходимо выполнить следующие требования:

  • Проект iOS настроен в Xcode 13 или более поздней версии в macOS версии 10.14.4 или более поздней.
  • Вы нацелены на устройства под управлением ios 11.0 или более поздней версии.
  • Вы не используете другую библиотеку, которая предоставляет функции отчетов о сбоях.

2. Создайте приложение на портале Центра приложений, чтобы получить секрет приложения

Если вы уже создали приложение на портале Центра приложений, этот шаг можно пропустить.

  1. Перейдите к appcenter.ms.
  2. Зарегистрируйтесь или войдите в систему и нажмите синюю кнопку в правом верхнем углу портала с надписью Добавить и выберите Добавить новое приложение в раскрывающемся меню.
  3. Введите имя и необязательное описание приложения.
  4. Выберите iOS в качестве ОС и Objective-C/Swift в качестве платформы.
  5. Нажмите кнопку в правом нижнем углу с надписью Добавить новое приложение.

После создания приложения его секрет можно получить на странице Параметры на портале Центра приложений. В правом верхнем углу страницы Параметры щелкните тройную вертикальную точку и выберите Copy app secret , чтобы получить секрет приложения.

Примечание

Использование существующего секрета приложения из другого проекта iOS имеет побочные эффекты. Центр приложений не поддерживает фильтрацию по проекту в одном приложении Центра приложений. Например, при перечислении сбоев для определенной версии будут перечислены все сбои из обоих проектов для этой версии без каких-либо различий. Это может быть запутанным.

Примечание

4.0.0 В версии Центра приложений были введены критические изменения. Следуйте указаниям в разделе Миграция на пакет SDK 4.0.0 и более поздних версий Центра приложений , чтобы перенести Центр приложений из предыдущих версий.

3. Добавление модулей пакета SDK для Центра приложений

Пакет SDK центра приложений можно интегрировать в приложение с помощью Cocoapods, Carthage или путем добавления двоичных файлов вручную в проект.

3.1 Интеграция с cocoapods

  1. Добавьте следующие зависимости в , podfile чтобы включить в приложение аварийное завершение работы Центра приложений. При этом будут извлечены следующие платформы: AppCenter и AppCenterCrashes.

     pod 'AppCenter/Crashes'
    
  2. Выполните команду pod install , чтобы установить только что определенный модуль pod, и откройте файл проекта .xcworkspace.

Примечание

Если при выполнении pod installотображается сообщение об ошибке [!] Unable to find a specification for `AppCenter` , выполните команду pod repo update , чтобы получить последние модули pod из репозитория Cocoapods, а затем выполните команду pod install.

Теперь, когда вы интегрировали платформы в приложение, пришло время запустить пакет SDK и использовать службы Центра приложений.

3.2 Интеграция через Карфаген

Ниже приведены шаги по интеграции пакета SDK центра приложений в проект Xcode с помощью Carthage версии 0.30 или более поздней, децентрализованного диспетчера зависимостей, который создает зависимости и предоставляет двоичные платформы.

  1. Добавьте в приложение Cartfile следующие зависимости, чтобы включить Центр приложений в приложение. При этом будут извлечены все платформы. Затем можно связать только эти платформы для использования в приложении.

    # Use the following line to get the latest version of App Center
    github "microsoft/appcenter-sdk-apple"
    
    # Use the following line to get the specific version of App Center
    github "microsoft/appcenter-sdk-apple" ~> X.X.X
    
  2. Выполните команду carthage update. При этом зависимости извлекается в папку Carthage/Checkouts , а затем выполняется сборка каждой платформы.

  3. Откройте вкладку Общие параметры целевого объекта приложения. Перетащите файлы AppCenter.framework и AppCenterCrashes.framework из папки Carthage/Build/ в навигатор проектов Xcode. Для запуска пакета SDK требуется AppCenter.framework . Если он не будет добавлен в проект, другие модули не будут работать и ваше приложение не будет компилироваться.

  4. Появится диалоговое окно, убедитесь, что установлен флажок целевого объекта приложения. Нажмите кнопку Готово.

    Примечание

    Если вы используете carthage copy-frameworks на этапе сборки , не следует добавлять туда пакеты SDK центра приложений, так как они поставляются как статические платформы.

Теперь, когда вы интегрировали платформы в приложение, пришло время запустить пакет SDK и использовать службы Центра приложений.

3.3 Интеграция с помощью диспетчера пакетов Swift

  1. В меню Xcode выберите Файл > Swift Packages > Add Package Dependency (Добавить зависимость пакета).
  2. В появившемся диалоговом окне введите URL-адрес репозитория: https://github.com/microsoft/appcenter-sdk-apple.git.
  3. В разделе Версия выберите До следующей основной и выберите параметр по умолчанию.
  4. Выберите необходимые модули в столбце Package Product (Продукт пакета ).

Теперь, когда вы интегрировали платформы в приложение, пришло время запустить пакет SDK и использовать службы Центра приложений.

Примечание

Если вы интегрируете Центр приложений через SwiftPM и хотите использовать его в целевом объекте расширения приложения, убедитесь, что вы указали DISABLE_DIAMOND_PROBLEM_DIAGNOSTIC=YES в конфигурации. Это необходимо, чтобы избежать ограничений SwiftPM при связывании модуля с несколькими целевыми объектами.

3.4 Интеграция путем копирования двоичных файлов в проект

Ниже приведены инструкции по интеграции скомпилированных двоичных файлов в проект Xcode для настройки сбоев Центра приложений для расширения приложения.

Примечание

Пакет SDK центра приложений поддерживает использование XCframework. Если вы хотите интегрировать XCframeworks в проект, скачайте AppCenter-SDK-Apple-XCFramework.zip на странице выпусков и распакуйте его. Результирующее содержимое папки не зависит от платформы, вместо этого оно содержит XCframeworks для каждого модуля. Их можно интегрировать так же, как обычные платформы, как описано ниже.

  1. Скачайте платформы пакета SDK центра приложений , предоставленные в виде ZIP-файла.

  2. Распакуйте файл, и вы увидите папку с именем AppCenter-SDK-Apple , которая содержит различные платформы для каждой службы центра приложений в каждой папке платформы. Вызываемая платформа AppCenter является обязательной в проекте, так как она содержит код, который совместно используется различными модулями.

  3. [Необязательно] Создайте подкаталог для сторонних библиотек.

    • Рекомендуется, что сторонние библиотеки обычно находятся в подкаталоге, который часто называется Vendor. Если проект не упорядочен с подкаталогом для библиотек, создайте подкаталог Vendor .
    • Создайте группу с именем Vendor в проекте Xcode, чтобы имитировать структуру файлов на диске.
  4. Откройте распакованную папку AppCenter-SDK-Apple в Finder и скопируйте ее в папку проекта в нужном расположении. Папка содержит платформы во вложенных папках для других платформ, поддерживаемых пакетом SDK центра приложений, поэтому может потребоваться удалить ненужные вложенные папки.

  5. Добавьте платформы SDK в проект в Xcode:

    • Убедитесь, что отображается навигатор проекта (⌘+1).
    • Теперь перетащите AppCenter.framework и AppCenterCrashes.framework из Finder (в расположении из предыдущего шага) в навигатор проектов Xcode. Для запуска пакета SDK требуется AppCenter.framework . Если он не будет добавлен в проект, другие модули не будут работать и расширение приложения не будет компилироваться.
    • Появится диалоговое окно, убедитесь, что установлен флажок целевого объекта расширения приложения. Нажмите кнопку Готово.

Теперь, когда вы интегрировали платформы в расширение приложения, пришло время запустить пакет SDK и использовать службы Центра приложений.

4. Запустите пакет SDK

Чтобы использовать Центр приложений, необходимо согласиться на использование модулей. По умолчанию модули не запускаются, и при запуске пакета SDK необходимо явно вызывать каждый из них.

4.1 Добавление инструкций импорта

Вставьте следующие строки в файл, содержащий точку входа расширения приложения. Например, в файле main ViewController расширения Today.

@import AppCenter;
@import AppCenterCrashes;
import AppCenter
import AppCenterCrashes

4.2. Добавление start:withServices: метода

Вставьте следующую строку в точку входа расширения приложения. Например, внутри viewDidLoad метода main файла ViewController расширения Today.

[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACCrashes class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Crashes.self])

В настоящее время для расширений приложений поддерживаются только отчеты о сбоях.

4.3. Замените заполнитель секретом приложения

Обязательно замените {Your App Secret} текст фактическим значением для расширения приложения. Секрет приложения можно найти на странице начало работы или на странице параметров на портале Центра приложений.

Страница начало работы содержит приведенный выше пример кода с секретом приложения. Вы можете скопировать и вставить весь пример.

Отлично, все готово для визуализации данных о сбоях на портале, которые пакет SDK собирает автоматически.

Ознакомьтесь с документацией по сбоям Центра приложений , чтобы узнать, как настроить расширение приложения и использовать более сложные функции.