Info.plist-Erklärer
Füge deine Info.plist ein, oder das, was plutil -p ausgibt. Sie wird direkt hier auf dieser Seite gelesen, und nichts wird irgendwohin gesendet.
Probiere ein Beispiel:
Was es macht
Jede Mac-App hat eine Info.plist in sich, in Contents. Das ist eine kleine Einstellungsdatei, die macOS den Namen der App, die Bundle-ID, die Version, das älteste macOS, auf dem sie läuft, ihre Kategorie, ob sie ein Dock-Symbol hat, und die Texte sagt, die macOS zeigt, wenn die App nach der Kamera, dem Mikrofon oder der Steuerung anderer Apps fragt. Dieses Tool liest die Datei, die du einfügst, und sagt in einfachen Worten, was jeder Schlüssel tut. Zuerst kommen die, die die App, ihre Updates oder ihre Prüfung stoppen werden, dann die, die einen zweiten Blick wert sind, dann die gewöhnlichen.
Auszuführende Befehle
plutil -p YourApp.app/Contents/Info.plist plutil -lint YourApp.app/Contents/Info.plist
Das erste gibt die Datei in einer Form aus, die du hier einfügen kannst, auch wenn sie binär gespeichert ist. Das zweite prüft, ob die Datei gültig ist. In deinem Xcode-Projekt steht in der Datei oft etwas wie $(MARKETING_VERSION), das Xcode beim Bauen ausfüllt. Die echten Werte siehst du in der Kopie in der gebauten App.
Was jedes Ergebnis bedeutet
| Markierung | Was es bedeutet |
|---|---|
| Beheben | Ein Schlüssel fehlt oder ist leer, und zwar so, dass es die App, ihre Updates oder App Review kaputt macht, etwa keine Build-Nummer oder ein leerer Berechtigungstext. |
| Aussehen | Es funktioniert, kann aber Fragen bei App Review auslösen oder Leute verwirren, etwa ein vager Berechtigungstext oder überall erlaubtes einfaches http. |
| OK | So gesetzt, wie es Apples Dokumentation beschreibt. |
| Hinweis | Gut zu wissen, etwa was Xcode beim Bauen der App hinzugefügt hat. |
Quellen: Apple Developer, Information Property List, Protected resources, LSApplicationCategoryType, NSAppTransportSecurity und die Sparkle-Dokumentation, alle gelesen am 9. November 2026.
So funktioniert's
Es sind ein paar einfache Textregeln, die auf dieser Seite laufen. Es liest das XML einer Info.plist oder die oberste Ebene dessen, was plutil -p ausgibt. Es kennt 80 gängige Schlüssel und die Berechtigungstexte. Alles andere markiert es als nicht in seiner Liste, statt zu raten. Es kann nicht wissen, ob deine App die Kamera oder das Mikrofon wirklich nutzt, oder ob für etwas, das die App tut, ein Berechtigungstext fehlt: macOS stoppt eine App, die ohne einen fragt, also teste jede Funktion einmal. Nichts, was du einfügst, wird gespeichert oder gesendet.
Fragen
Was ist eine Info.plist auf dem Mac?
Eine Einstellungsdatei in jeder App, unter Contents/Info.plist. Sie enthält den Namen der App, die Bundle-ID, die Version, das minimale macOS, die Kategorie und die Texte, die macOS zeigt, wenn die App um Erlaubnis fragt.
Wie lese ich die Info.plist einer App?
Führe plutil -p gefolgt vom Pfad zu Contents/Info.plist im Terminal aus. Es gibt die Datei als Klartext aus, auch wenn sie binär gespeichert ist.
Was ist der Unterschied zwischen CFBundleVersion und CFBundleShortVersionString?
CFBundleShortVersionString ist die Version, die Leute sehen, zum Beispiel 2.1. CFBundleVersion ist die Build-Nummer, die macOS, der Mac App Store und Sparkle vergleichen, um zu erkennen, welche Kopie neuer ist.
Warum stürzt meine Mac-App ab, wenn sie nach der Kamera fragt?
macOS stoppt eine App, die nach der Kamera, dem Mikrofon oder anderen privaten Daten fragt, ohne die passende Nutzungsbeschreibung in ihrer Info.plist. Füge NSCameraUsageDescription mit einem klaren Grund hinzu.
Wird das, was ich einfüge, irgendwohin gesendet?
Nein. Der Text wird auf dieser Seite gelesen und nichts wird gesendet oder gespeichert.