СпонсорствоВойтиОтправить

← Все инструменты

Разбор Info.plist

Вставьте свой Info.plist или то, что выводит plutil -p. Он читается прямо на этой странице, и ничего никуда не отправляется.

Разбор Info.plist

Попробуйте пример:

Что делает

В каждом приложении для 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 с понятной причиной.

Отправляется ли то, что я вставляю, куда-нибудь?

Нет. Текст читается на этой странице, ничего не отправляется и не сохраняется.

Похожее