получение информации от 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"

  • «Команда не найдена» с пользовательским сценарием запуска и xcodebuild
  • Как добавить массив в Plist с помощью PlistBuddy?
  • Как я могу использовать PListBuddy для копирования записи из одного файла в другой?
  • Как запустить команду терминала в быстром скрипте? (например, xcodebuild)
  • Пытается автоматически увеличить номер сборки xCode (Unix Script)
  • Как составить список файлов в папке и вставить каждую строку из этого списка в * .plist через терминал?
  • Сценарий Bash, запущенный из launchDaemon на MAC - не подключается к jenkins
  • Interesting Posts

    iPhone – добавьте кнопку «Добавить», когда кнопка «Изменить» выбрана в UITableView

    как анализировать данные xml с помощью анализа синтаксиса libxml

    Определить ячейку после местоположения тэка в UICollectionView

    Ограничить количество строк в UITextView

    iOS / Xcode: параллельные сборки для отладки, Ad Hoc и Release * w / In-App Purchase *

    – Используйте флаг `$ (унаследованный)`, или – Удалите настройки сборки из целевого объекта. Ошибка обновления CocoaPod Swift3

    В Monotouch можно сохранить общий список в NSUserDefaults?

    Попытка сделать карту из CALayers, которая может перевернуть

    Телефонная связь, Кордова

    UICollectionViewFlowLayout пустое пространство с переменной шириной и высотой ячейки

    Приложение с частной каркасом «не может проверять пакет приложений» в Xcode 6. Отсутствует фреймворк info.plist

    iOS push-уведомление с изображением, как в iMessage

    Кнопка отмены iPad (a-la Keynote и другие приложения)

    Как справиться с устаревшей версией офлайн-доступа в Facebook, когда вы используете токен как в приложении iOS, так и на сервере

    Как создать push-уведомление, когда RSS-канал будет обновляться в iPhone?

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