Info.plist-uitleg
Plak je Info.plist, of wat plutil -p afdrukt. Hij wordt hier op deze pagina gelezen en er wordt nergens iets heen gestuurd.
Probeer een voorbeeld:
Wat het doet
Elke Mac-app heeft een Info.plist in zich, in Contents. Het is een klein instellingenbestand dat macOS de naam van de app vertelt, de bundle-ID, de versie, de oudste macOS waarop hij draait, de categorie, of hij een Dock-icoon heeft, en de berichten die macOS toont als de app om de camera, de microfoon of de besturing van andere apps vraagt. Deze tool leest het bestand dat je plakt en zegt in gewone woorden wat elke sleutel doet. Hij zet eerst de sleutels die de app, de updates of de beoordeling zullen stoppen, dan die een tweede blik waard zijn, dan de gewone.
Uit te voeren commando's
plutil -p YourApp.app/Contents/Info.plist plutil -lint YourApp.app/Contents/Info.plist
De eerste drukt het bestand af in een vorm die je hier kunt plakken, ook als het binair is opgeslagen. De tweede controleert of het bestand geldig is. In je Xcode-project staan in het bestand vaak dingen als $(MARKETING_VERSION), die Xcode invult bij het bouwen. Voor de echte waarden check je de kopie in de gebouwde app.
Wat elk resultaat betekent
| Markering | Wat het betekent |
|---|---|
| Oplossen | Een sleutel ontbreekt of is leeg op een manier die de app, de updates of App Review kapotmaakt, zoals geen buildnummer of een leeg toestemmingsbericht. |
| Uiterlijk | Het werkt, maar het kan vragen oproepen bij App Review of mensen in verwarring brengen, zoals een vaag toestemmingsbericht of gewoon http overal toegestaan. |
| OK | Ingesteld zoals Apples documentatie het beschrijft. |
| Let op | Goed om te weten, zoals wat Xcode toevoegde toen hij de app bouwde. |
Bronnen: Apple Developer, Information Property List, Protected resources, LSApplicationCategoryType, NSAppTransportSecurity en Sparkle-documentatie, allemaal gelezen op 9 november 2026.
Zo werkt het
Het zijn een paar gewone tekstregels die op deze pagina draaien. Hij leest de XML van een Info.plist, of het bovenste niveau van wat plutil -p afdrukt. Hij kent 80 veelvoorkomende sleutels en de toestemmingsberichten. Al het andere markeert hij als niet in zijn lijst in plaats van te gokken. Hij kan niet weten of je app echt de camera of de microfoon gebruikt, of dat er een toestemmingsbericht ontbreekt voor iets wat de app doet: macOS stopt een app die zonder bericht vraagt, dus test elke functie één keer. Wat je plakt wordt niet opgeslagen of verstuurd.
Vragen
Wat is een Info.plist op een Mac?
Een instellingenbestand in elke app, op Contents/Info.plist. Het bevat de naam van de app, de bundle-ID, de versie, de minimale macOS, de categorie en de berichten die macOS toont als de app om toestemming vraagt.
Hoe lees ik de Info.plist van een app?
Draai plutil -p gevolgd door het pad naar Contents/Info.plist in Terminal. Het drukt het bestand af als gewone tekst, ook als het binair is opgeslagen.
Wat is het verschil tussen CFBundleVersion en CFBundleShortVersionString?
CFBundleShortVersionString is de versie die mensen zien, zoals 2.1. CFBundleVersion is het buildnummer dat macOS, de Mac App Store en Sparkle vergelijken om te zien welke kopie nieuwer is.
Waarom crasht mijn Mac-app als hij om de camera vraagt?
macOS stopt een app die om de camera, de microfoon of andere privégegevens vraagt zonder de bijbehorende gebruiksbeschrijving in de Info.plist. Voeg NSCameraUsageDescription toe met een duidelijke reden.
Wordt wat ik plak ergens naartoe gestuurd?
Nee. De tekst wordt op deze pagina gelezen en er wordt niets verstuurd of opgeslagen.