Начало работы с macOS

Важно!

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

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

Пакет SDK центра приложений использует модульную архитектуру, поэтому вы можете использовать любую или все службы.

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

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

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

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

Примечание

Пакет SDK центра приложений откажит поддержку Xcode 10 с июньского выпуска пакета SDK.

Аналитика и сбои пакета SDK центра приложений совместимы с Mac Catalyst через XCFramework или SwiftPM.

Пакет SDK центра приложений совместим с Apple Silicon.

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

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

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

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

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

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

Примечание

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

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

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

     # Use the following line to use App Center Analytics and Crashes.
     pod 'AppCenter'
    
     # Use the following lines if you want to specify which service you want to use.
     pod 'AppCenter/Analytics'
     pod 'AppCenter/Crashes'
    
  2. Выполните команду pod install , чтобы установить только что определенный модуль pod, и откройте файл проекта .xcworkspace.

Теперь, когда вы интегрировали платформы в приложение, пришло время запустить пакет 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 --platform macOS. При этом зависимости извлекается в папку Carthage/Checkouts , а затем выполняется сборка каждой платформы.

  3. Откройте вкладку Общие параметры целевого объекта приложения. Перетащите файлы AppCenter.framework, AppCenterAnalytics.framework и AppCenterCrashes.framework из папки Carthage/Build/macOS в навигатор проектов 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 для настройки аналитики Центра приложений и сбоев центра приложений для приложения macOS.

Примечание

Пакет 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, AppCenterAnalytics.framework и AppCenterCrashes.framework из Finder (в папке Vendor ) в навигатор проектов Xcode. Для запуска пакета SDK требуется AppCenter.framework. Если он отсутствует, другие модули не будут работать, и ваше приложение не будет компилироваться.
    • Появится диалоговое окно, убедитесь, что установлен флажок целевого объекта приложения. Нажмите кнопку Готово.

Примечание

Двоичный файл пакета SDK не упаковирован в соответствии с соглашением о платформе macOS. Причина заключается в том, что пакет SDK центра приложений для Mac не является обычной платформой, а статической. Вы должны связать его как статическую платформу: убедитесь, что вы не внедряете двоичные файлы и не включаете их на этапе сборки "копирование ресурсов пакета".

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

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

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

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

Откройте файл AppDelegate проекта и добавьте следующие инструкции импорта:

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

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

Вставьте следующую строку в метод делегата didFinishLaunchingWithOptions приложения:

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

Если у вас есть приложение Catalyst, вы можете передавать секреты приложения для iOS и macOS одновременно:

[MSACAppCenter start:@"ios={Your iOS App Secret};macos={Your macOS App Secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class]]];
AppCenter.start(withAppSecret:"ios={Your iOS App Secret};macos={Your macOS App Secret}", services: [Analytics.self, Crashes.self])

Предупреждение

Не рекомендуется внедрять секрет приложения в исходный код.

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

  1. Настройте или запустите его с помощью секрета приложения.
  2. Если код можно вызвать несколько раз, проверка, если Центр приложений уже настроен.
  3. Запустите необходимые службы без секрета приложения.
[MSACAppCenter configureWithAppSecret:@"{Your App Secret}"];
if ([MSACAppCenter isConfigured]) {
   [MSACAppCenter startService:[MSACAnalytics class]];
   [MSACAppCenter startService:[MSACCrashes class]];
}
AppCenter.configure(withAppSecret: "{Your App Secret}")
if AppCenter.isConfigured {
    AppCenter.startService(Analytics.self)
    AppCenter.startService(Crashes.self)
}

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

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

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

В приведенном выше примере показано, как использовать метод (start(withAppSecret:services:) для Swift) и включить аналитику start:withServices Центра приложений и сбои Центра приложений.

Если вы не хотите использовать одну из двух служб, удалите соответствующий параметр из вызова метода выше.

Если вы явно не укажет каждый модуль в качестве параметров в методе start, вы не сможете использовать эту службу Центра приложений. Кроме того, start:withServices API (start(withAppSecret:services:) для Swift) можно использовать только один раз в жизненном цикле приложения. Все остальные вызовы будут записывать предупреждение в консоль, и будут доступны только модули, включенные в первый вызов.

Например, если вы хотите подключиться к Аналитике Центра приложений, необходимо изменить start:withServices вызов API (start(withAppSecret:services:) для Swift) следующим образом:

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

4.4. Добавление возможностей Интернета для изолированных приложений

Если приложение использует песочницу приложений, необходимо настроить возможность разрешить исходящие (клиентские) подключения, чтобы разрешить приложению доступ к Интернету. Xcode 9 включает песочницу приложения по умолчанию, но возможности для исходящих подключений необходимо задать явно.

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


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

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