ENetrebin (обсуждение | вклад) |
Нет описания правки |
||
| (не показано 5 промежуточных версий 2 участников) | |||
| Строка 1: | Строка 1: | ||
Для того чтобы начать мониторинг мобильного приложения с помощью | '''''[[Модули платформы]] / [[Модули платформы|Цифровой опыт]] / [https://docs.expert-apm.ru/index.php/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D0%B8_%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B#:~:text=%D0%9C%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F Мобильные приложения] / [https://docs.expert-apm.ru/index.php/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D0%B8_%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B#:~:text=%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B4%D0%BB%D1%8F%20iOS Инструментальные приложения для iOS] / Мониторинг iOS-приложений и настройка ЕдиногоАгента''''' | ||
Для того чтобы начать мониторинг мобильного приложения с помощью АппОптима, необходимо создать объект приложения в веб-интерфейсе АппОптима, а затем инструментировать ваше мобильное приложение с помощью ЕдиныйАгент для iOS. | |||
После инструментирования мобильного приложения, вы можете настроить его в соответствии со своими потребностями: | После инструментирования мобильного приложения, вы можете настроить его в соответствии со своими потребностями: | ||
| Строка 8: | Строка 10: | ||
* Узнайте, какие данные собирает ЕдиныйАгент для iOS, чтобы заполнить или обновить анкету App Store Connect о данных конфиденциальности. | * Узнайте, какие данные собирает ЕдиныйАгент для iOS, чтобы заполнить или обновить анкету App Store Connect о данных конфиденциальности. | ||
= 1. Создайте приложение в веб-интерфейсе | = 1. Создайте приложение в веб-интерфейсе АппОптима = | ||
# В меню выберите ''' | # В меню выберите '''Развернуть АппОптима'''. | ||
# Прокрутите вниз и выберите ''' | # Прокрутите вниз и выберите '''Настроить мобильный мониторинг'''. | ||
# Введите имя для своего приложения и выберите ''' | # Введите имя для своего приложения и выберите '''Создать мобильное приложение'''. Откроется страница настроек приложения. | ||
= 2. Настройка ЕдиныйАгент = | = 2. Настройка ЕдиныйАгент = | ||
Используйте CocoaPods, Swift Package Manager или Carthage, чтобы настроить | Используйте CocoaPods, Swift Package Manager или Carthage, чтобы настроить мониторинг пользовательского опыта вашего мобильного приложения. | ||
Вы также можете использовать ручной способ инструментирования, хотя рекомендуется использовать один из автоматизированных подходов. | Вы также можете использовать ручной способ инструментирования, хотя рекомендуется использовать один из автоматизированных подходов. | ||
| Строка 22: | Строка 24: | ||
{| class="wikitable" | {| class="wikitable" | ||
|❗ '''''Важно''''' | |❗ '''''Важно''''' | ||
Если вы используете static XCFramework, traditional framework или static library для инструментирования iOS-приложения, вам потребуется выполнить некоторые дополнительные действия. | Если вы используете static XCFramework, traditional framework или static library для инструментирования iOS-приложения, вам потребуется выполнить некоторые дополнительные действия. | ||
| Строка 30: | Строка 30: | ||
== 2.1. Настройка ЕдиныйАгент с помощью CocoaPods == | == 2.1. Настройка ЕдиныйАгент с помощью CocoaPods == | ||
# Добавьте | # Добавьте АппОптима ЕдиныйАгент в качестве зависимости в спецификацию CocoaPods Podfile. Это можно сделать, настроив ЕдиныйАгент как dynamic XCFramework, static XCFramework, traditional framework или static library. | ||
{| class="wikitable" | {| class="wikitable" | ||
| Строка 38: | Строка 38: | ||
|'''Static library''' | |'''Static library''' | ||
|- | |- | ||
|Чтобы настроить | |Чтобы настроить АппОптима как '''dynamic XCFramework''', добавьте pod АппОптима в ваш Podfile. | ||
Убедитесь, что вы раскомментировали строку use_frameworks!. | Убедитесь, что вы раскомментировали строку use_frameworks!. | ||
| Строка 54: | Строка 54: | ||
<nowiki>#</nowiki> Pods for DemoApp | <nowiki>#</nowiki> Pods for DemoApp | ||
pod ' | pod 'AppOptima', '~> 8.237' | ||
end | end | ||
|Чтобы настроить | |Чтобы настроить АппОптима как '''static XCFramework''', добавьте pod АппОптима/xcframeworkStatic в ваш Podfile. | ||
Убедитесь, что вы раскомментировали строку use_frameworks!. | Убедитесь, что вы раскомментировали строку use_frameworks!. | ||
| Строка 73: | Строка 73: | ||
<nowiki>#</nowiki> Pods for DemoApp | <nowiki>#</nowiki> Pods for DemoApp | ||
pod ' | pod 'AppOptima/xcframeworkStatic', '~> 8.237' | ||
end | end | ||
|Чтобы настроить | |Чтобы настроить АппОптима как traditional framework, добавьте pod АппОптима/framework в ваш Podfile. | ||
Убедитесь, что вы раскомментировали строку use_frameworks!. | Убедитесь, что вы раскомментировали строку use_frameworks!. | ||
| Строка 92: | Строка 92: | ||
<nowiki>#</nowiki> Pods for DemoApp | <nowiki>#</nowiki> Pods for DemoApp | ||
pod ' | pod 'AppOptima/framework', '~> 8.237' | ||
end | end | ||
|Чтобы настроить | |Чтобы настроить АппОптима как static library, добавьте pod АппОптима/lib в ваш Podfile. | ||
Убедитесь, что вы раскомментировали строку use_frameworks!. | Убедитесь, что вы раскомментировали строку use_frameworks!. | ||
| Строка 111: | Строка 111: | ||
<nowiki>#</nowiki> Pods for DemoApp | <nowiki>#</nowiki> Pods for DemoApp | ||
pod ' | pod 'AppOptima/lib', '~> 8.237' | ||
end | end | ||
| Строка 121: | Строка 121: | ||
Эта архитектура необходима для создания приложений на компьютерах Mac с помощью Apple Silicon. | Эта архитектура необходима для создания приложений на компьютерах Mac с помощью Apple Silicon. | ||
2. Добавьте ключи идентификации вашего приложения в файл Info.plist. Точные значения можно найти в мастере настройки ([[Мониторинг iOS-приложений и настройка ЕдиногоАгента#%203.%20%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%20%D0%BA|instrumentation wizard]]) в веб-интерфейсе | 2. Добавьте ключи идентификации вашего приложения в файл Info.plist. Точные значения можно найти в мастере настройки ([[Мониторинг iOS-приложений и настройка ЕдиногоАгента#%203.%20%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%20%D0%BA|instrumentation wizard]]) в веб-интерфейсе АппОптима. | ||
3. Запустите сборку вашего проекта один раз, прежде чем использовать One Agent SDK или любые объявления импорта в Xcode. | 3. Запустите сборку вашего проекта один раз, прежде чем использовать One Agent SDK или любые объявления импорта в Xcode. | ||
| Строка 135: | Строка 135: | ||
# В Xcode, выберете '''File > Swift Packages > Add Package Dependency'''. | # В Xcode, выберете '''File > Swift Packages > Add Package Dependency'''. | ||
# В качестве URL-адреса репозитория пакетов добавьте https:// | # В качестве URL-адреса репозитория пакетов добавьте https://git.ruscomtech.ru/free/swift-mobile-sdk | ||
# Выберите только один package product: | # Выберите только один package product: | ||
* ''' | * '''AppOptima''' – чтобы добавить только ЕдиныйАгент. | ||
❗ '''''Важно''''' | ❗ '''''Важно''''' | ||
* '''-Static''' – чтобы добавить только ЕдиныйАгент как static XCFramework | * '''-Static''' – чтобы добавить только ЕдиныйАгент как static XCFramework | ||
| Строка 155: | Строка 152: | ||
# Добавьте linker flag '''-ObjC''' к '''Other Linker Flags'''. | # Добавьте linker flag '''-ObjC''' к '''Other Linker Flags'''. | ||
===== Static XCFramework: Сделайте | ===== Static XCFramework: Сделайте АппОптима доступным для кода Swift ===== | ||
Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к фреймворку. | Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к фреймворку. | ||
| Строка 164: | Строка 161: | ||
# Добавьте следующую строку импорта в файл bridging header: | # Добавьте следующую строку импорта в файл bridging header: | ||
<nowiki>#</nowiki>import < | <nowiki>#</nowiki>import <АппОптимаStatic/АппОптима.h> | ||
===== Static library: Добавить linker flag ===== | ===== Static library: Добавить linker flag ===== | ||
| Строка 172: | Строка 169: | ||
# Добавьте linker flag '''-ObjC''' к '''Other Linker Flags'''. | # Добавьте linker flag '''-ObjC''' к '''Other Linker Flags'''. | ||
===== Static library: Сделайте | ===== Static library: Сделайте АппОптима доступным для кода Swift ===== | ||
Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к библиотеке. | Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к библиотеке. | ||
| Строка 180: | Строка 177: | ||
# Добавьте следующую строку импорта в файл bridging header: | # Добавьте следующую строку импорта в файл bridging header: | ||
<nowiki>#</nowiki>import | <nowiki>#</nowiki>import AppOptima.h | ||
5. Добавьте ключи идентификации вашего приложения в файл Info.plist. Точные значения можно найти в мастере настройки ([[Мониторинг iOS-приложений и настройка ЕдиногоАгента#%203.%20%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%20%D0%BA|instrumentation wizard]]) в веб-интерфейсе | 5. Добавьте ключи идентификации вашего приложения в файл Info.plist. Точные значения можно найти в мастере настройки ([[Мониторинг iOS-приложений и настройка ЕдиногоАгента#%203.%20%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%20%D0%BA|instrumentation wizard]]) в веб-интерфейсе АппОптима. | ||
6. Запустите сборку вашего проекта один раз, прежде чем использовать One Agent SDK или любые объявления импорта в Xcode. | 6. Запустите сборку вашего проекта один раз, прежде чем использовать One Agent SDK или любые объявления импорта в Xcode. | ||
| Строка 189: | Строка 186: | ||
== 2.3. Настройка ЕдиныйАгент с помощью Carthage == | == 2.3. Настройка ЕдиныйАгент с помощью Carthage == | ||
# Добавьте '''binary "https:// | # Добавьте '''binary "'''[https://ruscomtech.ru/static/ios/carthage/astromkey.json https://ruscomtech.ru/static/ios/carthage/AppOptima.json]'''" ~> 8.237<nowiki/>''' в ваш '''Cartfile'''. | ||
# Запустите '''carthage update --use-xcframeworks'''. | # Запустите '''carthage update --use-xcframeworks'''. | ||
===== Static XCFramework: Добавить linker flag ===== | ===== Static XCFramework: Добавить linker flag ===== | ||
| Строка 213: | Строка 205: | ||
'''''Возможно, вам придется добавить эту библиотеку дважды. В наших внутренних тестах библиотека была связана с деревом проекта только после того, как мы добавили библиотеку во второй раз.''''' | '''''Возможно, вам придется добавить эту библиотеку дважды. В наших внутренних тестах библиотека была связана с деревом проекта только после того, как мы добавили библиотеку во второй раз.''''' | ||
===== Static XCFramework: Сделайте | ===== Static XCFramework: Сделайте АппОптима доступным для кода Swift ===== | ||
Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к фреймворку. | Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к фреймворку. | ||
| Строка 221: | Строка 213: | ||
# Добавьте следующую строку импорта в файл bridging header: | # Добавьте следующую строку импорта в файл bridging header: | ||
<nowiki>#</nowiki>import < | <nowiki>#</nowiki>import <AppOptimaStatic/AppOptima.h> | ||
===== Traditional framework: Remove iOS Simulator architecture of the release binary ===== | ===== Traditional framework: Remove iOS Simulator architecture of the release binary ===== | ||
| Строка 270: | Строка 262: | ||
# Добавьте linker flag '''-ObjC''' к '''Other Linker Flags'''. | # Добавьте linker flag '''-ObjC''' к '''Other Linker Flags'''. | ||
===== Static library: Сделайте | ===== Static library: Сделайте АппОптима доступным для кода Swift ===== | ||
Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к библиотеке. | Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к библиотеке. | ||
| Строка 278: | Строка 270: | ||
# Добавьте следующую строку импорта в файл bridging header: | # Добавьте следующую строку импорта в файл bridging header: | ||
<nowiki>#</nowiki>import | <nowiki>#</nowiki>import AppOptima.h | ||
5. Добавьте ключи идентификации вашего приложения в файл Info.plist. Точные значения можно найти в мастере настройки ([[Мониторинг iOS-приложений и настройка ЕдиногоАгента#%203.%20%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%20%D0%BA|instrumentation wizard]]) в веб-интерфейсе | 5. Добавьте ключи идентификации вашего приложения в файл Info.plist. Точные значения можно найти в мастере настройки ([[Мониторинг iOS-приложений и настройка ЕдиногоАгента#%203.%20%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%20%D0%BA|instrumentation wizard]]) в веб-интерфейсе АппОптима. | ||
6. Запустите сборку вашего проекта один раз, прежде чем использовать One Agent SDK или любые объявления импорта в Xcode. | 6. Запустите сборку вашего проекта один раз, прежде чем использовать One Agent SDK или любые объявления импорта в Xcode. | ||
| Строка 308: | Строка 300: | ||
'''''Возможно, вам придется добавить эту библиотеку дважды. В наших внутренних тестах библиотека была связана с деревом проекта только после того, как мы добавили библиотеку во второй раз.''''' | '''''Возможно, вам придется добавить эту библиотеку дважды. В наших внутренних тестах библиотека была связана с деревом проекта только после того, как мы добавили библиотеку во второй раз.''''' | ||
===== Static XCFramework: Сделайте | ===== Static XCFramework: Сделайте АппОптима доступным для кода Swift ===== | ||
Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к | Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к АппОптима framework. | ||
Мы предполагаем, что вы уже создали файл Objective-C bridging header для своего кода Swift в Xcode. | Мы предполагаем, что вы уже создали файл Objective-C bridging header для своего кода Swift в Xcode. | ||
| Строка 316: | Строка 308: | ||
# Добавьте следующую строку импорта в файл bridging header: | # Добавьте следующую строку импорта в файл bridging header: | ||
<nowiki>#</nowiki>import < | <nowiki>#</nowiki>import <AppOptimaStatic/AppOptima.h> | ||
===== Traditional framework: Remove iOS Simulator architecture of the release binary ===== | ===== Traditional framework: Remove iOS Simulator architecture of the release binary ===== | ||
| Строка 365: | Строка 357: | ||
# Добавьте linker flag '''-ObjC''' к '''Other Linker Flags'''. | # Добавьте linker flag '''-ObjC''' к '''Other Linker Flags'''. | ||
===== Static library: Сделайте | ===== Static library: Сделайте АппОптима доступным для кода Swift ===== | ||
Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к библиотеке. | Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к библиотеке. | ||
| Строка 373: | Строка 365: | ||
# Добавьте следующую строку импорта в файл bridging header: | # Добавьте следующую строку импорта в файл bridging header: | ||
<nowiki>#</nowiki>import | <nowiki>#</nowiki>import AppOptima.h | ||
| Строка 380: | Строка 372: | ||
= 3. Доступ к mobile instrumentation wizard = | = 3. Доступ к mobile instrumentation wizard = | ||
Мастер инструментирования для мобильных устройств в веб-интерфейсе | Мастер инструментирования для мобильных устройств в веб-интерфейсе АппОптима предоставляет вам инструкции по инструментированию ваших приложений iOS. Более подробная инструкция, находится в данном документе в разделе [[Мониторинг iOS-приложений и настройка ЕдиногоАгента#%202.%20%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20OneAgent|'''Настройка ЕдиныйАгент''']]. | ||
Мастер также содержит фрагменты кода с идентификационными ключами вашего приложения, которые необходимо добавить в файл Info.plist. | Мастер также содержит фрагменты кода с идентификационными ключами вашего приложения, которые необходимо добавить в файл Info.plist. | ||
# В меню | # В меню АппОптима выберите '''Mobile'''. | ||
# Выберите мобильное приложение, которое вы хотите настроить. | # Выберите мобильное приложение, которое вы хотите настроить. | ||
# Выберите '''More (…) > Edit''' в правом верхнем углу плитки с названием вашего приложения. | # Выберите '''More (…) > Edit''' в правом верхнем углу плитки с названием вашего приложения. | ||
Текущая версия от 19:30, 2 января 2025
Модули платформы / Цифровой опыт / Мобильные приложения / Инструментальные приложения для iOS / Мониторинг iOS-приложений и настройка ЕдиногоАгента
Для того чтобы начать мониторинг мобильного приложения с помощью АппОптима, необходимо создать объект приложения в веб-интерфейсе АппОптима, а затем инструментировать ваше мобильное приложение с помощью ЕдиныйАгент для iOS.
После инструментирования мобильного приложения, вы можете настроить его в соответствии со своими потребностями:
- Настроить функции автоинструментации с помощью ключей конфигурации.
- Захватить дополнительных данные с помощью ручного инструментирования.
- Настроить параметры конфиденциальности данных для ваших мобильных приложений. Например, настроить маскирование действий пользователя.
- Узнайте, какие данные собирает ЕдиныйАгент для iOS, чтобы заполнить или обновить анкету App Store Connect о данных конфиденциальности.
1. Создайте приложение в веб-интерфейсе АппОптима
- В меню выберите Развернуть АппОптима.
- Прокрутите вниз и выберите Настроить мобильный мониторинг.
- Введите имя для своего приложения и выберите Создать мобильное приложение. Откроется страница настроек приложения.
2. Настройка ЕдиныйАгент
Используйте CocoaPods, Swift Package Manager или Carthage, чтобы настроить мониторинг пользовательского опыта вашего мобильного приложения.
Вы также можете использовать ручной способ инструментирования, хотя рекомендуется использовать один из автоматизированных подходов.
Вы можете настроить ЕдиныйАгент как dynamic XCFramework, static XCFramework (доступен для ЕдиныйАгент for iOS версии 8.237+), traditional framework или static library.
| ❗ Важно
Если вы используете static XCFramework, traditional framework или static library для инструментирования iOS-приложения, вам потребуется выполнить некоторые дополнительные действия. |
2.1. Настройка ЕдиныйАгент с помощью CocoaPods
- Добавьте АппОптима ЕдиныйАгент в качестве зависимости в спецификацию CocoaPods Podfile. Это можно сделать, настроив ЕдиныйАгент как dynamic XCFramework, static XCFramework, traditional framework или static library.
| Dynamic XCFramework | Static XCFramework | Traditional XCFramework | Static library |
| Чтобы настроить АппОптима как dynamic XCFramework, добавьте pod АппОптима в ваш Podfile.
Убедитесь, что вы раскомментировали строку use_frameworks!. # Uncomment this line to define a global platform for your project # platform :ios, '9.0' target 'DemoApp' do # Uncomment this line if you're using Swift or want to use dynamic frameworks use_frameworks! # Pods for DemoApp pod 'AppOptima', '~> 8.237' end |
Чтобы настроить АппОптима как static XCFramework, добавьте pod АппОптима/xcframeworkStatic в ваш Podfile.
Убедитесь, что вы раскомментировали строку use_frameworks!. # Uncomment this line to define a global platform for your project # platform :ios, '9.0' target 'DemoApp' do # Uncomment this line if you're using Swift or want to use dynamic frameworks use_frameworks! # Pods for DemoApp pod 'AppOptima/xcframeworkStatic', '~> 8.237' end |
Чтобы настроить АппОптима как traditional framework, добавьте pod АппОптима/framework в ваш Podfile.
Убедитесь, что вы раскомментировали строку use_frameworks!. # Uncomment this line to define a global platform for your project # platform :ios, '9.0' target 'DemoApp' do # Uncomment this line if you're using Swift or want to use dynamic frameworks use_frameworks! # Pods for DemoApp pod 'AppOptima/framework', '~> 8.237' end |
Чтобы настроить АппОптима как static library, добавьте pod АппОптима/lib в ваш Podfile.
Убедитесь, что вы раскомментировали строку use_frameworks!. # Uncomment this line to define a global platform for your project # platform :ios, '9.0' target 'DemoApp' do # Uncomment this line if you're using Swift or want to use dynamic frameworks # use_frameworks! # Pods for DemoApp pod 'AppOptima/lib', '~> 8.237' end |
❗ Важно
Традиционная платформа и статическая библиотека устарели, поскольку они не поддерживают ARM64 Simulator architecture.
Эта архитектура необходима для создания приложений на компьютерах Mac с помощью Apple Silicon.
2. Добавьте ключи идентификации вашего приложения в файл Info.plist. Точные значения можно найти в мастере настройки (instrumentation wizard) в веб-интерфейсе АппОптима.
3. Запустите сборку вашего проекта один раз, прежде чем использовать One Agent SDK или любые объявления импорта в Xcode.
CocoaPods автоматически добавляет ЕдиныйАгент в ваш iOS-проект в процессе сборки.
| ❗ Важно
Для получения дополнительной информации о Podfiles, смотрите Справочник по синтаксису. |
2.2. Настройка ЕдиныйАгент с помощью Swift Package Manager
- В Xcode, выберете File > Swift Packages > Add Package Dependency.
- В качестве URL-адреса репозитория пакетов добавьте https://git.ruscomtech.ru/free/swift-mobile-sdk
- Выберите только один package product:
- AppOptima – чтобы добавить только ЕдиныйАгент.
❗ Важно
- -Static – чтобы добавить только ЕдиныйАгент как static XCFramework
- Выполните дополнительные шаги в зависимости от используемой платформы:
Static XCFramework: Добавить linker flag
- В Xcode перейдите на вкладку Build Settings вашего целевого приложения.
- Разверните Linking.
- Добавьте linker flag -ObjC к Other Linker Flags.
Static XCFramework: Сделайте АппОптима доступным для кода Swift
Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к фреймворку.
Мы предполагаем, что вы уже создали файл Objective-C bridging header для своего кода Swift в Xcode.
- Убедитесь, что вы установили файл bridging header в настройках сборки целевого приложения.
- Добавьте следующую строку импорта в файл bridging header:
#import <АппОптимаStatic/АппОптима.h>
Static library: Добавить linker flag
- В Xcode перейдите на вкладку Build Settings вашего целевого приложения.
- Разверните Linking.
- Добавьте linker flag -ObjC к Other Linker Flags.
Static library: Сделайте АппОптима доступным для кода Swift
Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к библиотеке.
Мы предполагаем, что вы уже создали файл Objective-C bridging header для своего кода Swift в Xcode.
- Убедитесь, что вы установили файл bridging header в настройках сборки целевого приложения.
- Добавьте следующую строку импорта в файл bridging header:
#import AppOptima.h
5. Добавьте ключи идентификации вашего приложения в файл Info.plist. Точные значения можно найти в мастере настройки (instrumentation wizard) в веб-интерфейсе АппОптима.
6. Запустите сборку вашего проекта один раз, прежде чем использовать One Agent SDK или любые объявления импорта в Xcode.
2.3. Настройка ЕдиныйАгент с помощью Carthage
- Добавьте binary "https://ruscomtech.ru/static/ios/carthage/AppOptima.json" ~> 8.237 в ваш Cartfile.
- Запустите carthage update --use-xcframeworks.
Static XCFramework: Добавить linker flag
- В Xcode перейдите на вкладку Build Settings вашего целевого приложения.
- Разверните Linking.
- Добавьте linker flag -ObjC к Other Linker Flags.
Static XCFramework: Добавить linked library
- В Xcode перейдите на вкладку Build Settings вашего целевого приложения.
- Разверните Frameworks, Libraries, and Embedded Content..
- Добавьте библиотеку libc++.tbd.
❗ Важно
Возможно, вам придется добавить эту библиотеку дважды. В наших внутренних тестах библиотека была связана с деревом проекта только после того, как мы добавили библиотеку во второй раз.
Static XCFramework: Сделайте АппОптима доступным для кода Swift
Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к фреймворку.
Мы предполагаем, что вы уже создали файл Objective-C bridging header для своего кода Swift в Xcode.
- Убедитесь, что вы установили файл bridging header в настройках сборки целевого приложения.
- Добавьте следующую строку импорта в файл bridging header:
#import <AppOptimaStatic/AppOptima.h>
Traditional framework: Remove iOS Simulator architecture of the release binary
- В Xcode добавьте фазу Run Script в качестве последней Build Phase вашего целевого приложения.
- Добавьте следующий скрипт:
APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
do
FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
EXTRACTED_ARCHS=()
for ARCH in $ARCHS
do
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
done
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
rm "${EXTRACTED_ARCHS[@]}"
rm "$FRAMEWORK_EXECUTABLE_PATH"
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
done
- Выберите Run script: For install builds only.
Это удалит iOS Simulator architecture из бинарного файла вашего релиза, используемого для загрузки AppStore Connect.
Static library: Добавить linker flag
- В Xcode перейдите на вкладку Build Settings вашего целевого приложения.
- Разверните Linking.
- Добавьте linker flag -ObjC к Other Linker Flags.
Static library: Сделайте АппОптима доступным для кода Swift
Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к библиотеке.
Мы предполагаем, что вы уже создали файл Objective-C bridging header для своего кода Swift в Xcode.
- Убедитесь, что вы установили файл bridging header в настройках сборки целевого приложения.
- Добавьте следующую строку импорта в файл bridging header:
#import AppOptima.h
5. Добавьте ключи идентификации вашего приложения в файл Info.plist. Точные значения можно найти в мастере настройки (instrumentation wizard) в веб-интерфейсе АппОптима.
6. Запустите сборку вашего проекта один раз, прежде чем использовать One Agent SDK или любые объявления импорта в Xcode.
2.4. Настройка ЕдиныйАгент вручную
- Получите доступ к mobile instrumentation wizard.
- Выберите iOS и перейдите на вкладку Developer.
- Следуйте предоставленным инструкциям.
- Выполните некоторые дополнительные шаги в зависимости от используемой вами платформы:
Static XCFramework: Добавить linker flag
- В Xcode перейдите на вкладку Build Settings вашего целевого приложения.
- Разверните Linking.
- Добавьте linker flag -ObjC к Other Linker Flags.
Static XCFramework: Добавить linked library
- В Xcode перейдите на вкладку Build Settings вашего целевого приложения.
- Разверните Frameworks, Libraries, and Embedded Content..
- Добавьте библиотеку libc++.tbd.
❗ Важно
Возможно, вам придется добавить эту библиотеку дважды. В наших внутренних тестах библиотека была связана с деревом проекта только после того, как мы добавили библиотеку во второй раз.
Static XCFramework: Сделайте АппОптима доступным для кода Swift
Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к АппОптима framework.
Мы предполагаем, что вы уже создали файл Objective-C bridging header для своего кода Swift в Xcode.
- Убедитесь, что вы установили файл bridging header в настройках сборки целевого приложения.
- Добавьте следующую строку импорта в файл bridging header:
#import <AppOptimaStatic/AppOptima.h>
Traditional framework: Remove iOS Simulator architecture of the release binary
- В Xcode добавьте фазу Run Script в качестве последней Build Phase вашего целевого приложения.
- Добавьте следующий скрипт:
APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
do
FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
EXTRACTED_ARCHS=()
for ARCH in $ARCHS
do
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
done
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
rm "${EXTRACTED_ARCHS[@]}"
rm "$FRAMEWORK_EXECUTABLE_PATH"
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
done
- Выберите Run script: For install builds only.
Это удалит iOS Simulator architecture из бинарного файла вашего релиза, используемого для загрузки AppStore Connect.
Static library: Добавить linker flag
- В Xcode перейдите на вкладку Build Settings вашего целевого приложения.
- Разверните Linking.
- Добавьте linker flag -ObjC к Other Linker Flags.
Static library: Сделайте АппОптима доступным для кода Swift
Вы можете пропустить этот шаг, если в вашем приложении нет кода Swift или ему не нужен доступ к библиотеке.
Мы предполагаем, что вы уже создали файл Objective-C bridging header для своего кода Swift в Xcode.
- Убедитесь, что вы установили файл bridging header в настройках сборки целевого приложения.
- Добавьте следующую строку импорта в файл bridging header:
#import AppOptima.h
5. Запустите сборку вашего проекта один раз, прежде чем использовать One Agent SDK или любые объявления импорта в Xcode.
3. Доступ к mobile instrumentation wizard
Мастер инструментирования для мобильных устройств в веб-интерфейсе АппОптима предоставляет вам инструкции по инструментированию ваших приложений iOS. Более подробная инструкция, находится в данном документе в разделе Настройка ЕдиныйАгент.
Мастер также содержит фрагменты кода с идентификационными ключами вашего приложения, которые необходимо добавить в файл Info.plist.
- В меню АппОптима выберите Mobile.
- Выберите мобильное приложение, которое вы хотите настроить.
- Выберите More (…) > Edit в правом верхнем углу плитки с названием вашего приложения.
- В настройках приложения перейдите к Instrumentation wizard.
4. Ограничения
- Авто-инструментированное приложение не может выполнять такие функции, как shutdown() или flushEvents(). Вы можете вручную вставить эти методы, а также другие пользовательские действия и события перед выполнением автоинструментации.
- Следующие элементы управления нельзя использовать для создания автоматически сгенерированных действий:
- Жесты
- Определенные UIBarButton элементы, в том числе настраиваемые UIBarButton элементы, добавленные на панель навигации storyboard (например, info), которые используют переходы для перехода к другим представлениям.