Перейти до основного вмісту

Меню команд

Перейдіть на сторінку або пошукайте в каталозі

ШІ-інструменти та скрипти

Перевірка маніфесту конфіденційності Apple

Перевірте проєкт iOS перед завантаженням: API з обов'язковою причиною без указаної причини, маніфести конфіденційності, які відхиляє App Store Connect, помилки в кодах причин, неправильні домени відстеження, застарілі SDK зі списку Apple і маніфести, які target так і не включає до збірки.

$5.00

Що ви отримаєте: 1 файл · 62.62 KB · ZIP

Переглянути варіанти купівлі

Опис товару

UserDefaults.standard у вашому коді на Swift без запису NSPrivacyAccessedAPICategoryUserDefaults або код причини, набраний як c617.1 замість C617.1, достатньо, щоб App Store Connect відхилив збірку, а повна URL-адреса там, де Apple очікує лише домен відстеження, робить маніфест недійсним. Ця навичка знаходить ці та інші помилки в маніфесті конфіденційності до завантаження та пояснює, як виправити кожну.

Ваш агент запускає сканер для вашого проєкту: файли PrivacyInfo.xcprivacy, маніфести, які Cordova (config.xml) та Expo (app.json, app.config.json) записують під час збірки, Info.plist та інші plist, код на Swift, Objective-C і C/C++, файли проєкту Xcode (класичні групи та синхронізовані папки Xcode 16), Package.swift, Podfile, Podfile.lock, Package.resolved і pubspec.lock від Flutter. Він звіряє кожен ключ і значення зі списками категорій, кодів причин, типів даних і цілей від Apple, визначає, який маніфест охоплює який код (застосунок, розширення, пакет Swift), і пропускає коментарі, рядки, тести та сторонній код (Pods, плагіни та платформи Cordova). Маніфести всередині Pods перевіряються лише на те, через що App Store Connect їх відхиляє, а маніфест у бандлі ресурсів бібліотеки охоплює код цієї бібліотеки. Він ніколи не збирає і не запускає проєкт. Результат: BLOCK, REVIEW або NOT FLAGGED, із зазначенням файлу, рядка, причини та безпечнішого підходу, і кожне правило посилається на відповідну документацію Apple. Секрети ніколи не виводяться.

Що перевіряється

BLOCK (виправити до випуску)

  • P01: API з обов'язковою причиною, що використовуються у вашому коді (UserDefaults, @AppStorage, часові позначки файлів, stat, systemUptime, mach_absolute_time, ключі вільного місця на диску, statfs, activeInputModes), без маніфесту, який оголошує категорію (проєкти iOS, iPadOS, tvOS, visionOS і watchOS)
  • P02: маніфести (файли, config.xml Cordova або конфігурація Expo), які не є коректними списками властивостей або містять ключі, що не належать до маніфесту конфіденційності
  • P03: недійсні записи NSPrivacyAccessedAPITypes (невідома категорія або категорія з неправильним регістром, несхвалений код причини, код із неправильним регістром або з іншої категорії, порожній список причин, відсутній або зайвий ключ)
  • P04: недійсні ключі відстеження (неправильні типи, tracking true з порожнім списком доменів, tracking false з доменами, записи, які не є просто доменом: URL, шлях, рядок запиту або кінцева коса риска)
  • P05: недійсні записи NSPrivacyCollectedDataTypes (невідомий тип даних або ціль, відсутній або зайвий ключ, Linked або Tracking не логічного типу)

REVIEW (перевірити перед релізом)

  • P11: суперечності у відстеженні (true без списку доменів, домени без NSPrivacyTracking, тип даних, що використовується для відстеження, коли відстеження не оголошено, запит App Tracking Transparency без маніфесту, у якому сказано, що застосунок відстежує)
  • P12: ключі маніфесту конфіденційності в Info.plist або іншому plist, або файл .xcprivacy з неправильним ім'ям
  • P13: SDK зі списку Apple, зафіксовані на версіях без маніфесту конфіденційності (Alamofire, Kingfisher, SDWebImage, SnapKit, Lottie, SwiftyJSON, Starscream, Firebase, RxSwift, SVProgressHUD, RealmSwift, Charts, Facebook SDK, AFNetworking, MBProgressHUD), і плагіни Flutter, підтримку яких припинено (path_provider_ios, shared_preferences_ios, package_info, wakelock)
  • P14: PrivacyInfo.xcprivacy, який target застосунку не копіює, або target пакета Swift, який не оголошує його як ресурс
  • P15: код, що читає рекламний ідентифікатор, identifierForVendor, місцезнаходження, контакти або дані про здоров'я, без відповідного типу зібраних даних
  • P16: API з обов'язковою причиною, оголошений у маніфесті іншого target, але не в тому, що поруч із кодом (розширення застосунків, фреймворки)
  • P17: власний маніфест застосунку, що оголошує 0A2A.1 або C56D.1, причини, зарезервовані для сторонніх SDK
  • P18: використання API з обов'язковою причиною в проєкті Expo, маніфест якого береться з app.config.js або app.config.ts, де категорію не названо (конфігурацію неможливо виконати, тому це пункт для перевірки)

Що входить до комплекту

  • Сканер (Python 3.9+, лише стандартна бібліотека)
  • Посібник із правил із причиною, безпечнішим підходом і посиланням на документацію Apple для кожного правила
  • Ризикований і безпечний приклади проєктів (застосунок для нотаток із віджетом, пакет Swift, CocoaPods і невеликий застосунок Expo) і справжній звіт сканера щодо ризикованого

Обмеження

Сканер читає файли проєкту, а не зібраний застосунок: маніфести всередині бінарних SDK, API, які викликають лише скомпільовані SDK, і код на Kotlin, C# або JavaScript не перевіряються. Маніфести, що створюються під час збірки, читаються з config.xml Cordova та app.json або app.config.json Expo; в app.config.js або app.config.ts Expo шукаються лише назви категорій, а маніфести, додані плагінами конфігурації, не видно. Який маніфест охоплює який код, визначається за папками, пакетами Swift і проєктом Xcode, а не за повним графом збірки. Таблиця версій SDK охоплює перелічені вище SDK; про інші SDK зі списку Apple не повідомляється. Чи відповідає оголошена причина тому, що код робить насправді, і чи залишають дані пристрій, за текстом визначити неможливо. NOT FLAGGED не є гарантією.

Вміст

Один ZIP-файл із 45 файлами: SKILL.md, сканер у scripts/ (8 файлів Python), references/rules.md (кожне правило з причиною та безпечнішим підходом) і examples/ (34 файли прикладів плюс report.md, справжній вивід сканера для ризикованого прикладу).

Як користуватися: Це навичка для агента: папка з файлом SKILL.md і скриптами на Python, які може запускати ШІ-агент для програмування, наприклад Claude Code, Cursor або Codex CLI. Розпакуйте архів у папку навичок вашого агента (для Claude Code: ~/.claude/skills/), а потім попросіть агента перевірити ваш проєкт. Скрипти також працюють самостійно з Python 3.9 або новішим, нічого не потрібно встановлювати. Вони лише читають ваші файли: без доступу до мережі, нічого нікуди не надсилається.

Що ви отримаєте

1 файл · 62.62 KB

  • apple-privacy-manifest-check-1.0.0.zipZIP · 62.62 KB
ЛіцензіяКомерційне використання дозволено
Перевірка пакетаПройдено

Getly відкрив завантажені файли й не знайшов нічого, що завадило б їх відкрити. Це не антивірусна перевірка і не оцінка якості.

Опубліковано12 лист. 2026 р.
Розмір файлу62.62 KB
Формат файлуZIP
Версіяv1.0

Теги

iosprivacy-manifestapp-storexcodeswiftai agent skill
R
RR HH

Поширені запитання

Чи отримаю я доступ одразу?

Так. Це цифровий товар: ви можете завантажити його одразу після оплати, просто зі своєї бібліотеки.

Чи можна використовувати його в комерційних проєктах?

Так. Комерційне використання дозволено: користуйтеся в особистому бізнесі та в тому, що продаєте. Ви не можете перепродавати чи поширювати сам файл.

Яка у вас політика повернення коштів?

Ви можете запросити повернення коштів протягом 30 дн. Якщо щось не так, подайте запит зі свого замовлення, і команда Getly його розгляне.

Які формати та розміри файлів я отримаю?

Ви завантажите 1 файл - ZIP - загалом 62.62 KB.

Чи отримую я безкоштовні оновлення?

Так: коли продавець випускає нову версію, ви можете повторно завантажити свіжі файли зі своєї бібліотеки безкоштовно. Останні оновлення дивіться в журналі змін.

Ціна

$5.00