Разбор Info.plist
Вставьте свой Info.plist или то, что выводит plutil -p. Он читается прямо на этой странице, и ничего никуда не отправляется.
Попробуйте пример:
Что делает
В каждом приложении для Mac есть Info.plist, в папке Contents. Это небольшой файл настроек, который сообщает macOS название приложения, bundle ID, версию, самую старую macOS, на которой оно работает, категорию, есть ли значок в Dock и сообщения, которые macOS показывает, когда приложение просит доступ к камере, микрофону или управлению другими приложениями. Этот инструмент читает вставленный вами файл и простыми словами объясняет, что делает каждый ключ. Сначала он ставит те, что остановят приложение, его обновления или проверку, затем те, что стоит перепроверить, и в конце обычные.
Команды для запуска
plutil -p YourApp.app/Contents/Info.plist plutil -lint YourApp.app/Contents/Info.plist
Первая команда выводит файл в виде, который можно вставить сюда, даже если он хранится в двоичном виде. Вторая проверяет, что файл корректен. В проекте Xcode в файле часто стоит что-то вроде $(MARKETING_VERSION), и Xcode подставляет значение при сборке. Чтобы увидеть настоящие значения, посмотрите копию внутри готового приложения.
Что означает каждый результат
| Отметка | Что это значит |
|---|---|
| Исправить | Ключ отсутствует или пуст так, что это ломает приложение, его обновления или App Review, например нет номера сборки или пустое сообщение о разрешении. |
| Вид | Работает, но у App Review могут возникнуть вопросы, или людей это может запутать, например расплывчатое сообщение о разрешении или обычный http, разрешённый везде. |
| OK | Задано так, как описано в документации Apple. |
| Заметка | Полезно знать, например что Xcode добавил при сборке приложения. |
Источники: Apple Developer, Information Property List, Protected resources, LSApplicationCategoryType, NSAppTransportSecurity и документация Sparkle, всё прочитано 9 ноября 2026 г..
Как это работает
Это несколько простых текстовых правил, которые работают на этой странице. Он читает XML файла Info.plist или верхний уровень того, что выводит plutil -p. Он знает 80 распространённых ключей и сообщения о разрешениях. Всё остальное он помечает как отсутствующее в его списке, а не гадает. Он не может определить, действительно ли ваше приложение использует камеру или микрофон и не пропущено ли сообщение о разрешении для чего-то, что приложение делает: macOS останавливает приложение, которое просит доступ без него, поэтому проверьте каждую функцию один раз. Ничего из вставленного не сохраняется и не отправляется.
Вопросы
Что такое Info.plist на Mac?
Файл настроек внутри каждого приложения, по пути Contents/Info.plist. В нём хранятся название приложения, bundle ID, версия, минимальная macOS, категория и сообщения, которые macOS показывает, когда приложение просит разрешение.
Как прочитать Info.plist приложения?
Выполните в Терминале plutil -p, а после него путь к Contents/Info.plist. Он выведет файл простым текстом, даже если тот хранится в двоичном виде.
Чем отличаются CFBundleVersion и CFBundleShortVersionString?
CFBundleShortVersionString это версия, которую видят люди, например 2.1. CFBundleVersion это номер сборки, по которому macOS, Mac App Store и Sparkle определяют, какая копия новее.
Почему моё приложение для Mac падает, когда просит доступ к камере?
macOS останавливает приложение, которое просит доступ к камере, микрофону или другим личным данным без соответствующего описания использования в Info.plist. Добавьте NSCameraUsageDescription с понятной причиной.
Отправляется ли то, что я вставляю, куда-нибудь?
Нет. Текст читается на этой странице, ничего не отправляется и не сохраняется.