Миграция из HockeySDK в пакет SDK центра приложений для iOS
Важно!
Прекращение поддержки Центра приложений Visual Studio запланировано на 31 марта 2025 г. Хотя вы можете продолжать использовать Центр приложений Visual Studio, пока он не будет полностью выведен из эксплуатации, существует несколько рекомендуемых вариантов, на которые вы можете рассмотреть возможность миграции.
Узнайте больше о сроках поддержки и альтернативных вариантах.
Следуйте этой документации, если вы хотите обновить приложение для использования пакета SDK центра приложений вместо HockeySDK.
1. Обновление библиотек
1.1 Удаление старого HockeySDK
Вручную
Если вы добавили пакет SDK вручную, выполните следующие действия.
Удалите
HockeySDK.embeddedframework
ссылку из проекта XCode. Нажмите кнопку Удалить ссылку и не нажимайте кнопку Переместить в корзину .Откройте параметры проекта и на вкладке Параметры сборки в разделе Пути поиска заголовков / Пути поиска платформы удалите расположения для файлов заголовков, связанных с HockeySDK.
Откройте параметры проекта и на вкладке Этапы сборки в разделе Связывание двоичного файла с библиотеками удалите записи зависимостей, связанные с HockeySDK.
Удаление
HockeySDK.embeddedframework
из файловой системы.
Podfile
Если вы добавили пакет SDK с помощью CocoaPods, удалите pod "HockeySDK"
строку из podfile и выполните команду pod install
.
Carthage
Удалите ссылки HockeySDK из
Cartfile
. УдалениеCartfile.Resolved
из файловой системы.Удалите
HockeySDK.framework
иHockeySDK.framework.dSYM
из проекта XCode и нажмите кнопку Переместить в корзину .Откройте вкладку Этапы сборки и найдите раздел Запуск скрипта . Удалите HockeyApp из
input.xcfilelist
иoutput.xcfilelist
.
1.2. Добавление нового пакета SDK центра приложений
Пакет SDK центра приложений поддерживает интеграцию с помощью Cocoapods, Carthage, диспетчера пакетов Swift и с помощью платформ в проекте Xcode. Подробные инструкции по интеграции пакета SDK центра приложений см. в документации по пакету SDK центра приложений.
Примечание
Пакет SDK центра приложений разработан с модульным подходом, поэтому вы можете использовать любую или все службы. См. эквивалентность в следующей таблице:
Класс HockeyApp | Модуль Центра приложений |
---|---|
MetricsManager |
Analytics |
CrashManager |
Crashes |
UpdateManager |
Distribute |
2. Обновление кода установки пакета SDK
2.1. Преобразование идентификатора приложения
Пакет SDK центра приложений использует идентификаторы приложений в формате GUID. Ваш идентификатор приложения HockeyApp может использоваться Центром приложений, но его необходимо преобразовать в другой формат. Чтобы преобразовать идентификатор, необходимо добавить четыре дефиса, чтобы получить представление 8-4-4-4-12.
До (HockeyApp): 00112233445566778899aabbccddeeff
После (Центр приложений): 00112233-4455-6677-8899-aabbccddeeff
2.2. Замена инициализации пакета SDK в коде приложения
Замените следующие импорты в классе AppDelegate .
Перед следующей операцией.
@import HockeySDK;
import HockeySDK
После следующих операций.
@import AppCenter; @import AppCenterAnalytics; @import AppCenterCrashes; @import AppCenterDistribute;
import AppCenter import AppCenterAnalytics import AppCenterCrashes import AppCenterDistribute
Замена кода регистрации
Найдите метод и замените
didFinishLaunchingWithOptions
вхождения кода HockeyApp.Перед следующей операцией.
[[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"APP_IDENTIFIER"]; [[BITHockeyManager sharedHockeyManager] startManager]; [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation];
BITHockeyManager.shared().configure(withIdentifier: "APP_IDENTIFIER") BITHockeyManager.shared().start() BITHockeyManager.shared().authenticator.authenticateInstallation()
После следующих операций.
[MSACAppCenter start:@"{Your app secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class], [MSACDistribute class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self, Distribute.self])
Примечание
Пакет SDK центра приложений не имеет эквивалентов для
[[BITHockeyManager sharedHockeyManager] configureWithBetaIdentifier:liveIdentifier:delegate]
.[Необязательно] Изменение info.plist проекта
Если вы планируете использовать распространение, выполните указанные выше действия.
- Добавьте новый ключ для
URL types
илиCFBundleURLTypes
в файл Info.plist (если XCode отображает файл Info.plist в качестве исходного кода). - Измените ключ первого дочернего элемента на
URL Schemes
илиCFBundleURLSchemes
. - Введите
appcenter-${APP_SECRET}
в качестве схемы URL-адреса и замените${APP_SECRET}
секретом приложения.
Дополнительные сведения об этом см. в документации по распространению в Центре приложений.
- Добавьте новый ключ для
Замените вызовы API HockeyApp во всем приложении. Подробные таблицы сопоставления API приведены ниже.
3. Сравнение служб и функций
Основные сведения
Компонент | HockeyApp | Центр приложений |
---|---|---|
Настройка уровня журнала | [BITHockeyManager sharedHockeyManager].logLevel = BITLogLevelVerbose |
[MSACAppCenter setLogLevel:MSACLogLevelVerbose] |
Определение установок | [BITHockeyManager sharedHockeyManager].installString |
[MSACAppCenter installId] |
Идентификация пользователей | [BITHockeyManager sharedHockeyManager].userID |
[MSACAppCenter setUserId:@"your-user-id"] |
Аналитика
HockeySDK включает сбор метрик по умолчанию.
Пакет SDK центра приложений регистрирует службу аналитики только в том случае, если вы передаете Analytics
класс в start
метод .
Компонент | HockeyApp | Центр приложений |
---|---|---|
Автоматическое отслеживание сеансов | Не удается отключить | Документация (не может быть отключена) |
Пользовательские события со свойствами | Да | [MSACAnalytics trackEvent:withProperties:] |
Отключение службы во время выполнения | [BITHockeyManager sharedHockeyManager].disableMetricsManager = YES |
[MSACAnalytics setEnabled:NO] |
Сбои
HockeySDK включает отчеты о сбоях по умолчанию. Сбои будут немедленно отправлены на сервер при следующем запуске приложения.
Пакет SDK центра приложений регистрирует службу аварийного завершения, только если вы передаете Crashes
класс в start
метод .
Компонент | HockeyApp | Центр приложений |
---|---|---|
Автоматическая отправка сбоев | [[BITHockeyManager sharedHockeyManager].crashManager setCrashManagerStatus: BITCrashManagerStatusAutoSend] |
Документация (включена по умолчанию) |
Создание тестового сбоя | [[BITHockeyManager sharedHockeyManager].crashManager generateTestCrash] |
[MSACCrashes generateTestCrash] |
Сведения о предыдущем сбое | [[BITHockeyManager sharedHockeyManager].crashManager lastSessionCrashDetails] |
[MSACCrashes lastSessionCrashReport] |
Обработка исключений Mach | Отключено по умолчанию | Документация (включена по умолчанию) |
Присоединение дополнительных метаданных | Да | Документация (может быть вложена из делегата) |
Диалоговое окно "Настройка пользователя" | setAlertViewHandler | Документация (не предоставляется по умолчанию) |
Отключение службы во время выполнения | [[BITHockeyManager sharedHockeyManager] setDisableCrashManager: YES] |
[MSACCrashes setEnabled:NO] |
Распространение
Примечание
В отличие от HockeyApp, функция обновлений центра приложений в приложении будет работать ТОЛЬКО со сборками, распространяемыми с помощью службы распространения в Центре приложений. Распространение не будет работать при присоединении отладчика. Если приложение использует частную группу рассылки, после установки и открытия приложения в первый раз после добавления пакета SDK для распространения центра приложений откроется браузер для проверки подлинности пользователя и включения обновлений из приложения. Этот браузер также откроется, если вы задали частную дорожку обновления в приложении во время выполнения. Это одноразовый шаг, который не будет выполняться для последующих выпусков вашего приложения. Дополнительные сведения см. в документации по распространению в Центре приложений .
HockeySDK не включает обновления из приложения по умолчанию.
Пакет SDK центра приложений регистрирует службу обновлений в приложении, только если вы передаете Distribute
класс в start
метод . Этот модуль включен по умолчанию, в отличие от HockeySDK.
Компонент | HockeyApp | Центр приложений |
---|---|---|
Ограниченные обновления в приложении | [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation] |
MSACDistribute.updateTrack |
Отключение службы во время выполнения | [[BITHockeyManager sharedHockeyManager] setDisableUpdateManager: YES] |
[MSACDistribute setEnabled:NO] |
Настройка диалогового окна обновления | shouldDisplayUpdateAlertForUpdateManager | Документация |