Представьте: у вас legacy-приложение на Xamarin.Forms, которое нужно защитить политиками Intune. Исходный код — только у вендора, который давно не отвечает. App Wrapping — единственный выход. Мы делаем это за 1–2 недели. За 7 лет мы провели более 50 проектов по wrapping для iOS и Android, включая вендорские продукты. Правильный выбор инструмента и понимание ограничений — ключ к успеху. Гарантируем стабильную работу: 90% проектов проходят тестирование политик с первого раза.
Согласно документации Microsoft Intune App Wrapping Tool, инструмент поддерживает iOS 13+ и Android API 21+. Но не каждое приложение удаётся обернуть без проблем. Чаще всего сложности возникают из-за кастомных фреймворков, агрессивного ProGuard или WKWebView.
Почему App Wrapping подходит не для всех приложений?
Wrapping не магия. Ряд функций SDK при wrapping недоступен: multi-identity, кастомный wipe handler, Intune-targeted conditional launch checks. Если приложение использует WKWebView для основного UI — JavaScript-контент не перехватывается MAM. Нужна либо SDK-интеграция, либо ручная доработка через WKUserContentController. На Android wrapping работает через bytecode instrumentation: инструмент переписывает Dalvik/ART байткод, заменяя вызовы системных классов на MAM-обёртки. Это менее стабильно, чем iOS-подход, и может ломаться при агрессивных ProGuard/R8-оптимизациях. В 80% случаев проблемы связаны с кастомными правилами ProGuard.
Решение проблемы с ProGuard
Если после wrapping приложение падает, отключите агрессивную обфускацию для MAM-классов. Добавьте в proguard-rules.pro: ``` -keep class com.microsoft.intune.** { *; } -keep class android.content.ClipboardManager { *; } ``` Или используйте конфигурацию `-dontobfuscate` на время сборки.Как автоматизировать wrapping в CI/CD?
При каждом новом релизе процедуру wrapping нужно повторять. Ручной процесс отнимает время и чреват ошибками. Мы интегрируем wrapping в пайплайн: Jenkins, GitHub Actions, GitLab CI. Для iOS используем IntuneMAMPackager в macOS-агенте:
./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager \ -i /path/to/app.ipa \ -o /path/to/wrapped-app.ipa \ -p /path/to/provisioning-profile.mobileprovision \ -c "Apple Distribution: Company Name (TEAMID)" \ -e /path/to/entitlements.plist \ --use-secondary-ipa-keychain-group true Для Android — IntuneMAMPackager.jar:
java -jar IntuneMAMPackager.jar \ -i app-release.apk \ -o app-wrapped.apk \ -c RSA_KEY_ALIAS \ -ks keystore.jks \ -ksPass keystorePassword \ -alias keyAlias \ -aliasPass aliasPassword После автоматизации каждый билд проходит wrapping за 5–10 минут.
Что входит в работу?
| Этап | Длительность | Результат |
|---|---|---|
| Анализ совместимости | 1–2 дня | Заключение о возможности wrapping |
| Настройка Intune Portal | 1–2 дня | Приложение связано с AAD и политиками |
| Wrapping + переподпись | 1–2 дня | Защищённый IPA/APK |
| Тестирование политик | 1–3 дня | Протокол тестирования, скриншоты |
| Интеграция в CI/CD | 2–4 недели | Автоматический пайплайн wrapping |
| Документация и обучение | 1–2 дня | Инструкция для администратора |
Этапы проекта и сроки
- Анализ исходного приложения: совместимость с wrapping, архитектура, используемые фреймворки.
- Настройка Intune Portal: создание приложения в Microsoft Endpoint Manager, настройка App Protection Policy.
- Wrapping и переподпись (iOS: provisioning profile + сертификат; Android: keystore).
- Тестирование: проверка всех политик (copy-paste, wipe, PIN), регресс-тест функциональности.
- Интеграция в CI/CD для автоматического wrapping при каждом билде.
- Rollout: распространение через Intune Company Portal или MDM-решение.
Ориентировочные сроки: однократный wrapping — 1–2 недели. Полный pipeline с CI/CD — 3–5 недель. Стоимость однократного wrapping — от 150 000 до 300 000 ₽ в зависимости от сложности приложения. Интеграция wrapping в CI/CD — от 100 000 до 200 000 ₽. Свяжитесь с нами — наши инженеры бесплатно проверят совместимость вашего приложения.
Wrapping vs MAM SDK: детальное сравнение
Выбор между wrapping и SDK-интеграцией зависит от доступа к исходному коду и требуемых политик безопасности.
| Критерий | App Wrapping | MAM SDK |
|---|---|---|
| Доступ к исходному коду | Не нужен | Обязателен |
| Multi-identity | Нет | Да |
| Кастомный wipe-handler | Нет | Да |
| Время внедрения | 1–2 недели | 2–6 недель |
| Стоимость | от 150 000 ₽ | от 350 000 ₽ |
Wrapping — правильный выбор для сторонних и legacy-приложений без исходного кода. MAM SDK выбирают, когда нужны расширенные политики: разделение корпоративных и личных данных в одном приложении, кастомный wipe-handler. Гибридный подход — wrapping базовой версии плюс частичная SDK-интеграция для критичных компонентов — наш частый выбор для средних предприятий с бюджетом от 250 000 до 400 000 ₽.
Закажите wrapping корпоративного приложения — получите защищённую версию под ключ за 2–3 недели.







