Михаил Овчинников

Скрываем и показываем иконку приложения в Dock на macOS

Разработка под macOS Swift
Думаю всем очевиден факт, что когда приложение в macOS запущено, оно отображает иконку в доке. Иногда нам это не требуется, к примеру, если подразумевается, что придожение будет работать в фоне, и нет нужды лишний раз напоминать пользователю о его существовании. В общем случае для этого даже не требуется писать код: достаточно выставить соотвествующий флаг в Info.plist. <key>LSUIElement</key> <true/> По-человечески этот ключ называется “Application is agent (UIElement)” и собственно он переведет приложение в режим агента, в котором иконка в доке показываться не будет.

Читать далее...

Показываем индикатор загрузки файла в Finder

Разработка под macOS Swift
Ты наверное замечал, что при загрузке файлов, например в Chrome, в Finder рядом с файлом показывается некий круговой индикатор загрузки. Для этого используется специальный атрибут файла com.apple.progress.fractionCompleted, а также есть небольшая (но неочевидная) хитрость: нужно выставить дату создания файла равной 1984-01-24 08:00:00 +0000 а соотвественно, чтобы скрыть индикатор вернуть файлу актуальную дату и убрать атрибут. Метод на Swift будет выглядеть следующим образом: func setProgress(value: Double, forFile path: String) throws { var fileAttributes = try FileManager.

Читать далее...

Программное добавление папки в «Избранное» в Finder

Разработка под macOS Swift Objective-C
Возникла специфическая задача: добавить программно папку в раздел «Избранное» на боковой панели Finder в macOS. Эта и другая подобная информация хранится в *.sfl файлах, в ~/Library/Application Support/com.apple.sharedfilelist/. Работать с ними напрямую не получится, для этого существует системная утилита sfltool. Через терминал выполняем следующую команду: /usr/bin/sfltool add-item com.apple.LSSharedFileList.FavoriteItems file:///Users/$USER/Desktop/ Если нужно произвести такую операцию непосредственно из кода программы, то придется работать с API LSSharedFileList, которое объявлено Apple устаревшим, при этом альтернативных способов сделать это компания не предложила.

Читать далее...

Управляем сторонними библиотеками с CocoaPods

Разработка под iOS Разработка под macOS CocoaPods Менеджер пакетов Xcode
CocoaPods — менеджер пакетов, сделанный по образу и подобию RubyGems, позволяющий легко скачивать и подключать сторонние библиотеки к Swift и Objective-C проектам. Установка CocoaPods Менеджер пакетов написан на Ruby и распространяется через RubyGems. В общем случае установка сводится к единственной команде в терминале: sudo gem install cocoapods --pre Процесс может занять некоторое (продолжительное) время, не выводя ничего на экран, стоит быть к этому готовым и не прерывать установку до завершения (должна появиться надпись вроде «xx gems installed»).

Читать далее...
1 of 1