Для студий и команд, которые публикуют приложения потоком

Проверка уникальности кода

apporig автоматически проверяет уникальность кода: сравнивает проект с другими приложениями в workspace, находит копии, переименованные классы и переписанную логику. Поддерживаются Swift, Kotlin, Java, React Native и Flutter.

Зачем проверять уникальность кода перед релизом

Магазины приложений всё чаще отклоняют сборки с признаками шаблонного или дублирующего кода. Если вы ведёте поток iOS и Android приложений, ручная проверка каждого репозитория не масштабируется.

  • Перекрёстная проверка всех приложений в team workspace
  • Статусы COPY / RELATED / OK для быстрой приоритизации
  • Swift, Kotlin, Java, Objective-C, React Native и Flutter
  • ZIP или Git, плюс Jira Automation для release-тикетов
  • Whitelist: исключение SDK и boilerplate из оценки сходства

Как работает проверка уникальности программного кода

Сигналы: хеши файлов, AST-сходство, именование и слои сравнения (структура, потоки данных, зависимости). «Косметический» рефакторинг с новыми названиями, но той же архитектурой, попадает в RELATED или COPY.

Частые вопросы

Что такое проверка уникальности кода мобильного приложения?

Проверка уникальности кода сравнивает исходники вашего приложения с другими проектами, чтобы выявить скопированные файлы, структурные клоны и поверхностные рефакторинги, когда меняют только названия. Сервис apporig на сайте apporig.com автоматизирует этот процесс: хеширование файлов, разбор в абстрактные синтаксические деревья и отбор токенов. До отправки в App Store или Google Play вы видите статусы COPY, RELATED и OK и можете заранее снизить риск отказа.

Чем apporig отличается от других сервисов?

apporig – современный сервис проверки сходства мобильного кода: tree-sitter для Swift, Kotlin, Java, React Native и Flutter, team workspace, Git и Jira, whitelist и отчёты COPY / RELATED / OK для потоковых релизов.

Чем apporig отличается от сравнения через Git?

Обычное сравнение версий внутри одного репозитория Git показывает изменения между фиксациями или ветками. apporig сравнивает разные проекты в вашей командной области, выявляет структурное сходство даже после переименования файлов и переноса кода, и даёт обобщённую оценку риска для модерации магазинов. Это важно, когда у вас много приложений и нужна картина по всему портфелю, а не только история одного репозитория.

Можно ли загружать архивы ZIP для анализа?

Да. Загружайте проекты Xcode или Android Studio в виде ZIP: apporig выполнит анализ сходства, удалит загруженный архив после анализа и сохранит результаты разбора в командной области для сравнения с остальными приложениями. Так удобно передать снимок кода без постоянного доступа к Git, например от подрядчика или из внутреннего конвейера сборки.

Поддерживает ли apporig репозитории Git?

Да. Подключайте репозитории Git к apporig для регулярного анализа: каждая новая ревизия сравнивается с другими проектами в вашей области. Это удобно командам, которые выпускают обновления каждую неделю и хотят ловить нарастающее сходство до публикации в App Store или Google Play, не вручную собирая архивы после каждого изменения.

Какие языки анализирует apporig?

Сейчас: Swift, Objective-C, Kotlin, Java, React Native (TypeScript/JavaScript, Expo) и Flutter (Dart). C#, Go и PHP – в планах.

Есть ли бесплатная проба apporig?

Да. В early access доступен бесплатный workspace уровня Starter: загрузка проектов, анализ и отчёты о сходстве. Ограниченное число мест включает три месяца Starter без оплаты.

Как работает структурное сходство на основе синтаксических деревьев?

apporig разбирает исходный код в деревья и сравнивает структурные отпечатки: так находят рефакторинги, где переименовали классы и функции, но порядок ветвлений и вызовов остался тем же. Простое сравнение текста или хешей файлов часто пропускает такие случаи, а для магазинов важно именно сходство логики и каркаса приложения, а не только совпадение строк.

Можно ли проверить сразу много приложений?

Да. Загрузите несколько проектов в ZIP или подключите несколько репозиториев Git в одну командную область: apporig сравнивает каждый проект с каждым и показывает пары с наибольшим риском. Такой поток типичен для студий с десятками приложений в месяц: вы держите единую матрицу сходства и не упускаете новый релиз, похожий на уже опубликованный.

Помогает ли apporig снизить риск отказа в App Store?

apporig помогает найти дублирующийся или шаблонный код до отправки на ревью. Многие отказы по правилу 4.3 связаны со слишком похожими бинарниками и концепциями в одном аккаунте. Проактивная проверка уникальности кода не гарантирует одобрение, но уменьшает сюрпризы: вы заранее видите модули со статусом COPY или высоким RELATED и успеваете их переработать.

Сколько времени занимает анализ уникальности кода?

У большинства проектов отчёт готов за считанные минуты, точное время зависит от размера репозитория и числа файлов. Крупные монолитные репозитории могут обрабатываться дольше, но типичное мобильное приложение укладывается в короткий цикл после загрузки ZIP или синхронизации Git. Параллельно вы можете продолжать работу в apporig.com, пока очередь анализа завершается.