У меня есть скрипт для отображения содержимого Info.plist файлов .ipa:
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?