【问题】在使用 defaults 命令修改 Info.plist 文件时,提示 domain Info.plist does not exists. 可是文件明明是存在的。
使用命令为:defaults write Info.plist CFBundleVersion 3.0.0
【分析】man defaults,有一段关于 filepath 的描述:
filepath Domains may also be specified as a path to an arbitrary plist file, with or without the '.plist' extension. For example:
defaults read ~/Library/Containers/com.apple.TextEdit/Data/Library/Preferences/com.apple.TextEdit.plist
normally gives the same result as the two previous examples. In the following example:
defaults write ~/Desktop/TestFile foo bar
will write the key 'foo' with the value 'bar' into the plist file 'TestFile.plist' that is on the user's desktop. If the file does not exist, it will be created. If it does exist, the key-value pair will be added, overwriting the value of 'foo' if it already existed.
WARNING: The defaults command will be changed in an upcoming major release to only operate on preferences domains. General plist manipulation utilities will be folded into a different command-line program.
【解决】参考示例,将 path 改成绝对路径问题就解决了:
使用命令为:defaults write /dir/to/my/Info.plist CFBundleVersion 3.0.0