Update a plist file

This action allows you to modify any plist file.

Supported platforms ios
Author @rishabhtayal

1 Example

update_plist( # Advanced processing: find URL scheme for particular key and replace value
  plist_path: "path/to/Info.plist",
  block: proc do |plist|
    urlScheme = plist["CFBundleURLTypes"].find{|scheme| scheme["CFBundleURLName"] == "com.acme.default-url-handler"}
    urlScheme[:CFBundleURLSchemes] = ["acme-production"]


Key Description Default
plist_path Path to plist file
block A block to process plist with custom logic

* = default value is dependent on the user's system


To show the documentation in your terminal, run

fastlane action update_plist


It is recommended to add the above action into your Fastfile, however sometimes you might want to run one-offs. To do so, you can run the following command from your terminal

fastlane run update_plist

To pass parameters, make use of the : symbol, for example

fastlane run update_plist parameter1:"value1" parameter2:"value2"

It's important to note that the CLI supports primitive types like integers, floats, booleans, and strings. Arrays can be passed as a comma delimited string (e.g. param:"1,2,3"). Hashes are not currently supported.

It is recommended to add all fastlane actions you use to your Fastfile.

Source code

This action, just like the rest of fastlane, is fully open source, view the source code on GitHub

Back to actions