update_plist
Update a plist file
This action allows you to modify any value inside any
plistfile.
| update_plist | |
|---|---|
| Supported platforms | ios |
| Author | @rishabhtayal, @matthiaszarzecki |
6 Examples
update_plist( # Updates the CLIENT_ID and GOOGLE_APP_ID string entries in the plist-file
plist_path: "path/to/your_plist_file.plist",
block: proc do |plist|
plist[:CLIENT_ID] = "new_client_id"
plist[:GOOGLE_APP_ID] = "new_google_app_id"
end
)
update_plist( # Sets a boolean entry
plist_path: "path/to/your_plist_file.plist",
block: proc do |plist|
plist[:boolean_entry] = true
end
)
update_plist( # Sets a number entry
plist_path: "path/to/your_plist_file.plist",
block: proc do |plist|
plist[:number_entry] = 13
end
)
update_plist( # Sets an array-entry with multiple sub-types
plist_path: "path/to/your_plist_file.plist",
block: proc do |plist|
plist[:array_entry] = ["entry_01", true, 1243]
end
)
update_plist( # The block can contain logic too
plist_path: "path/to/your_plist_file.plist",
block: proc do |plist|
if options[:environment] == "production"
plist[:CLIENT_ID] = "new_client_id_production"
else
plist[:CLIENT_ID] = "new_client_id_development"
end
end
)
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"]
end
)
Parameters
| 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
Documentation
To show the documentation in your terminal, run
fastlane action update_plist
CLI
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