Search code examples
iphonexcodeshellscriptingpost-processing

How to read plist information (bundle id) from a shell script


I'd like to write a script that can read info like Bundle Identifier or maybe version number from the Info.plist of the app. Xcode doesn't seem to give that information in it's environment variables. Is there any other way to get them in sh/bash?


Solution

  • The defaults command can read/write to any plist file, just give it a path minus the .plist extension:

    $ defaults read /Applications/Preview.app/Contents/Info CFBundleIdentifier
    
    com.apple.Preview
    

    This pulls the CFBundleIdentifier value directly from the application bundle's Info.plist file.

    Defaults also works with binary plists without any extra steps.