【发布时间】:2018-05-18 09:44:36
【问题描述】:
我有一个脚本来显示 .ipa 文件的 Info.plist 的内容:
myTmpDir=`mktemp -d 2>/dev/null || mktemp -d -t 'myTmpDir'`
unzip -q "$1" -d "${myTmpDir}";
pathToFile=${myTmpDir}/Payload/*.app/Info.plist
/usr/libexec/PlistBuddy -c "Print" ${pathToFile}
对于大文件,这可能需要一些时间才能将它们提取到临时文件夹中,以便读取一个小的 Info.plist (xml) 文件。 我想知道我是否可以提取 Info.plist 文件并将其传递给 plistbuddy?我试过了:
/usr/libexec/PlistBuddy -c "Print" /dev/stdin <<< \
$(unzip -qp test.ipa Payload/*.app/Info.plist)
但这会产生
Unexpected character b at line 1
Error Reading File: /dev/stdin
提取工作正常。运行 unzip -qp test.ipa Payload/*.app/Info.plist 时,我将 Info.plist 文件的输出输出到终端:
$ unzip -qp test.ipa Payload/*.app/Info.plist
bplist00?&
!"#$%&'()*+5:;*<=>?ABCDECFGHIJKXYjmwxyIN}~N_BuildMachineOSBuild_CFBundleDevelopm...
如何将 Info.plist 的内容传递给 plistbuddy?
【问题讨论】:
-
您可能想改用
plutil,它可以使用-作为文件名从标准输入中读取。 -
我最近不得不停止使用
plutil并改用PlistBuddy来更改com.apple.developer.team-identifier,plutil坚持认为我提供的值不正确。否则,我一般更喜欢plutil。
标签: bash plistbuddy