Поделиться через


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

Это важно

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

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

Вы можете найти сведения о данных, собранных Центром приложений по данным, собранным пакетами SDK для Центра приложений, общими правилами защиты данных и страницами часто задаваемых вопросов . Кроме того, вопросы и ответы содержат ответы, необходимые для настройки конфиденциальности App Store.

Давайте приступим к настройке пакета SDK для Центра приложений iOS в приложении для использования аналитики Центра приложений и сбоев Центра приложений. Чтобы добавить в приложение компонент App Center Distribute, ознакомьтесь с документацией App Center Distribute.

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

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

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

SDK центра приложений для аналитики и обработки сбоев совместим с Mac Catalyst с помощью XCFramework или SwiftPM.

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

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

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

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

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

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

Замечание

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

Интеграция с помощью Cocoapods 3.1

Замечание

Симуляторы ARM64 (при запуске из Xcode, работающего на Apple Silicon Mac), не поддерживаются с помощью CocoaPods, рекомендуется использовать другие методы интеграции для его работы.

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

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

Замечание

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

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

Интеграция 3.2 с помощью Carthage

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

Замечание

Интеграция Carthage не работает сразу после установки Xcode 12. Чтобы это заработало, обратитесь к инструкции Carthage

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

    # 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, AppCenterAnalytics.framework и AppCenterCrashes.framework из папки Carthage/Build/iOS в навигатор проекта Xcode. Для запуска пакета SDK требуется AppCenter.framework . Если он не добавлен в проект, другие модули не будут работать, и ваше приложение не будет компилироваться.

  4. Откроется диалоговое окно, убедитесь, что выбран целевой объект вашего приложения. Затем нажмите кнопку "Готово".

    Замечание

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

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

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

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

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

Замечание

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

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

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

Замечание

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

  1. Скачайте платформы ПАКЕТА SDK Центра приложений , предоставляемые в виде ZIP-файла.

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

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

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

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

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

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

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

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

Приведенные ниже инструкции немного отличаются в зависимости от того, какой жизненный цикл вы используете. Начиная с Xcode 12 можно выбрать один из двух жизненных циклов: "Приложение интерфейса Swift" (выбранное по умолчанию в Xcode 12) и "Kit AppDelegate". Если вы разрабатываете расширение, перейдите на страницу начала работы с расширением.

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

Откройте файл AppDelegate проекта (для жизненного цикла AppDelegate для пакета пользовательского интерфейса) или <файл ProjectName>App.swift (для жизненного цикла приложения пользовательского интерфейса Swift) и добавьте следующие инструкции импорта:

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

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

Набор пользовательского интерфейса AppDelegate

Добавьте код инициализации в didFinishLaunchingWithOptions метод делегата:

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

Жизненный цикл приложения пользовательского интерфейса Swift

Чтобы убедиться, что пакет SDK Центра приложений работает правильно с пользовательским интерфейсом Swift, инициализировать его после загрузки пользовательского интерфейса. Самый простой способ достичь этого — использовать UIApplicationDelegate:

class AppDelegate: NSObject, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
          AppCenter.start(withAppSecret: "{Your App Secret}", services:[
            Crashes.self, Analytics.self, Distribute.self])
        return true
    }
}

Затем используйте UIApplicationDelegateAdaptor в struct:

@main
struct YourAppName: App {

  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

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

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:withServicesдля Swift) и включать как аналитику start(withAppSecret:services:) Центра приложений, так и аварийное завершение работы Центра приложений.

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

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

Например, если вы хотите подключиться к App Center Analytics, необходимо изменить start:withServices вызов API (start(withAppSecret:services:) для Swift), как показано ниже.

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

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

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

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