получение информации от plutil

У меня возникли проблемы с информацией о направлении из плютиля. Я хочу проверить, содержит ли .plist ключ CFBundleShortVersionString. Я не думаю, что у plutil есть возможность проверить, существует ли ключ, поэтому я думал, что просто plutil -show file.plist >file.txt но это просто не работает. : / Поэтому я попытался направить файл plist из stdout в файл с помощью опции dump plutil -dump file.plist >file.txt без везения. : / Я также попытался направлять stdout в stderr и stderr и stdout в файл. Ничего не получилось. Кто-нибудь знает как это сделать?

5 Solutions collect form web for “получение информации от plutil”

Если вам нужно проверить свой .plist на наличие ключа CFBundleShortVersionString , лучше использовать PlistBuddy следующим образом:

 /usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" 1.plist || echo "CFBundleShortVersionString doesn't exist" 

Чтобы ответить на ваш вопрос, вы можете создать небольшой скрипт bash, содержащий:

 #!/bin/bash cp $1 /tmp/$$.tmp plutil -convert xml1 /tmp/$$.tmp cat /tmp/$$.tmp rm /tmp/$$.tmp 

Если вы вызываете скрипт bash, pldump делает его исполняемым с помощью chmod +x pldump . Поместите его где-нибудь на свой путь и используйте его так:

 tlh-m0290:Preferences paul.downs$ ./pldump com.example.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>station.data.downloaded</key> <true/> </dict> </plist> 

Я не вижу другого способа сделать вывод plutil в stdout.

 $ plutil -show StorePurchasesInfo.plist 2>&1 | grep cbk 

возвращает все строки в plist с текстом 'cbk' в них. По какой-то причине plutil отправляет свой вывод на stderr. Вышеупомянутый перенаправляет stderr на stdout, поэтому он может быть успешно подключен к grep (или перенаправлен в файл или что угодно).

plutil -extract CFBundleShortVersionString xml1 -o - App-Info.plist команда plutil -extract CFBundleShortVersionString xml1 -o - App-Info.plist выводит содержимое свойства CFBundleShortVersionString

Oneliner, который не зависит от дополнительной утилиты для установки:

plutil -extract CFBundleShortVersionString xml1 -o - ./Info.plist | sed -n "s/.*<string>\(.*\)<\/string>.*/\1/p"

  • Можно ли использовать скрипт сборки Xcode для загрузки JSON-файлов в пакет приложений?
  • Сценарий Bash, запущенный из launchDaemon на MAC - не подключается к jenkins
  • Пытается автоматически увеличить номер сборки xCode (Unix Script)
  • Может ли файл Xcode .mobileprovision быть установлен в командной строке?
  • / bin / sh:: Нет такого файла или каталога Splunk MINT SDK
  • Xcode бросает dyld сообщение об ошибке
  • Получить дату истечения срока действия сертификата из профиля обеспечения встроенного.mobileprovision
  • Interesting Posts

    Ошибка CredStore при выполнении запроса

    IOS 5 Нет звука при воспроизведении видео в режиме без звука с помощью приложения buzztouch

    iOS Google+ Safari не может открыть страницу, поскольку адрес недействителен

    iOS 9 Скрыть панель состояния назад

    Невозможно изменить SKView backgroundColor

    Установка «Отключить веб-безопасность» и «разрешить доступ к файлам из файлов» в iOS WKWebView

    Пакет ошибок ipc для битового кода с использованием xcodebuild

    Распространение событий касания через подчиненные подражания?

    Как написать обработчик завершения для данных firebase?

    Как использовать делегаты для передачи данных из пользовательской ячейки в метку в родительском представлении

    iPhone SDK: как вы измеряете ширину и высоту строки с помощью кварца?

    MKMapView не может загружать фрагменты с ошибкой HTTP 410

    Воспроизведение встроенного звука с использованием быстрого кода 2.0 Xcode 7.1 IOS 9.1

    Swift: всплывающее окно DatePicker в текстовом поле с кнопкой «Готово»

    Правильный подход для проверки распределения памяти в Objective C

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.