Переход из HockeySDK в пакет SDK центра приложений для macOS

Важно!

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

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

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

1. Обновление библиотек

1.1 Удаление старого HockeySDK

Вручную

Если вы добавили пакет SDK вручную, выполните следующие действия.

  1. Удалите HockeySDK.framework ссылку из проекта XCode. Нажмите кнопку Удалить ссылку и не нажимайте кнопку Переместить в корзину .

  2. Откройте параметры проекта и на вкладке Параметры сборки в разделе Пути поиска заголовков / Пути поиска платформы удалите расположения для файлов заголовков, связанных с HockeySDK.

  3. Откройте параметры проекта и на вкладке Этапы сборки в разделе Связывание двоичного файла с библиотеками удалите записи зависимостей, связанные с HockeySDK.

  4. Удаление HockeySDK.framework из файловой системы.

Podfile

Если вы добавили пакет SDK с помощью CocoaPods, удалите pod "HockeySDK-Mac" строку из podfile и выполните команду pod install.

Carthage

Если вы добавили пакет SDK с помощью Carthage, выполните следующие действия.

  1. Удалите ссылки HockeySDK из Cartfile. Удаление Cartfile.Resolved из файловой системы.

  2. Удалите HockeySDK.framework и HockeySDK.framework.dSYM из проекта XCode и нажмите кнопку Переместить в корзину .

1.2. Добавление нового пакета SDK центра приложений

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

Примечание

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

Класс HockeyApp Модуль Центра приложений
MetricsManager Analytics
CrashManager Crashes

2. Обновление кода установки пакета SDK

2.1. Преобразование идентификатора приложения

Пакет SDK центра приложений использует идентификаторы приложений в формате GUID. Ваш идентификатор приложения HockeyApp может использоваться Центром приложений, но его необходимо преобразовать в другой формат. Чтобы преобразовать идентификатор, необходимо добавить четыре дефиса, чтобы получить представление 8-4-4-4-12.

До (HockeyApp): 00112233445566778899aabbccddeeff

После (Центр приложений): 00112233-4455-6677-8899-aabbccddeeff

2.2. Замена инициализации пакета SDK в коде приложения

  1. Замените следующие импорты в классе AppDelegate .

    Перед следующей операцией.

    @import HockeySDK;
    
    import HockeySDK
    

    После следующих операций.

    @import AppCenter;
    @import AppCenterAnalytics;
    @import AppCenterCrashes;
    
    import AppCenter
    import AppCenterAnalytics
    import AppCenterCrashes
    
  2. Замена кода регистрации

    Найдите метод и замените didFinishLaunchingWithOptions вхождения кода HockeyApp.

    Перед следующей операцией.

    [[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"APP_IDENTIFIER"];
    [[BITHockeyManager sharedHockeyManager] startManager];
    
    BITHockeyManager.shared().configure(withIdentifier: "APP_IDENTIFIER")
    BITHockeyManager.shared().start()
    

    После следующих операций.

    [MSACAppCenter start:@"{Your app secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class]]];
    
    AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self])
    
  3. Замените вызовы API HockeyApp во всем приложении. Подробные таблицы сопоставления API приведены ниже.

3. Сравнение служб и функций

Основные сведения

Компонент HockeyApp Центр приложений
Настройка уровня журнала [BITHockeyManager sharedHockeyManager].logLevel = BITLogLevelVerbose [MSACAppCenter setLogLevel:MSACLogLevelVerbose]

Аналитика

HockeySDK собирает метрики по умолчанию. Пакет SDK центра приложений не собирает метрики (аналитики) по умолчанию. Чтобы собрать метрики с помощью пакета SDK центра приложений, передайте MSACAnalytics в start: метод .

Компонент HockeyApp Центр приложений
Автоматическое отслеживание сеансов По умолчанию включено Документация (включена по умолчанию)
Пользовательские события со свойствами Да [MSACAnalytics trackEvent:withProperties:]
Отключение службы во время выполнения [BITHockeyManager sharedHockeyManager].disableMetricsManager = YES [MSACAnalytics setEnabled:NO]

Сбои

Отчеты HockeySDK аварийно завершаются по умолчанию. Сбои будут немедленно отправлены на сервер при следующем запуске приложения. Пакет SDK центра приложений не сообщает о сбоях по умолчанию. Чтобы собирать сбои с помощью пакета SDK центра приложений, передайте MSACCrashes в start: метод .

Компонент HockeyApp Центр приложений
Автоматическая отправка сбоев [[BITHockeyManager sharedHockeyManager].crashManager setAutoSubmitCrashReport: YES] Документация (включена по умолчанию)
Создание тестового сбоя [[BITHockeyManager sharedHockeyManager].crashManager generateTestCrash] [MSACCrashes generateTestCrash]
Сведения о предыдущем сбое [[BITHockeyManager sharedHockeyManager].crashManager lastSessionCrashDetails] [MSACCrashes lastSessionCrashReport]
Обработка исключений Mach [[BITHockeyManager sharedHockeyManager].disableMachExceptionHandler = YES] Документация (включена по умолчанию)
Присоединение дополнительных метаданных Да Документация (может быть вложена из делегата)
Диалоговое окно "Настройка пользователя" setCrashReportUIHandler Документация (не предоставляется по умолчанию)
Отключение службы во время выполнения [[BITHockeyManager sharedHockeyManager] setDisableCrashManager: YES] [MSACCrashes setEnabled:NO]