Погружаемся в работу с Observables в RxSwift

Логотип проекта ReactiveX

В прошлой статье мы разобрались с основными понятиями в мире Rx. Сегодня мы обсудим подробнее различные способы создания наблюдаемых объектов (Observables) и рассмотрим особенности подписки на транслируемые ими события.

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

Введение в RxSwift

Логотип проекта ReactiveX

RxSwift — это библиотека для работы с асинхронным кодом, которая представляет события в виде потоков с возможностью подписаться на них, а также предоставляет возможность применять к ним подходы функционального программирования, что сильно упрощает работу со сложными последовательностями асинхронных событий.

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

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

Думаю всем очевиден факт, что когда приложение в macOS запущено, оно отображает иконку в доке. Иногда нам это не требуется, к примеру, если подразумевается, что приложение будет работать в фоне, и нет нужды лишний раз напоминать пользователю о его существовании.

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

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

Ты наверное замечал, что при загрузке файлов, например в Chrome, в Finder рядом с файлом показывается некий круговой индикатор загрузки.

Отображение индикактора загрузки файла в Finder

Для этого используется специальный атрибут файла com.apple.progress.fractionCompleted, а также есть небольшая (но неочевидная) хитрость: нужно выставить дату создания файла равной 1984-01-24 08:00:00 +0000 а соотвественно, чтобы скрыть индикатор вернуть файлу актуальную дату и убрать атрибут.

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

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

Возникла специфическая задача: добавить программно папку в раздел «Избранное» на боковой панели Finder в macOS. Эта и другая подобная информация хранится в *.sfl файлах, в ~/Library/Application Support/com.apple.sharedfilelist/. Работать с ними напрямую не получится, для этого существует системная утилита sfltool.

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

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

CocoaPods — менеджер пакетов, сделанный по образу и подобию RubyGems, позволяющий легко скачивать и подключать сторонние библиотеки к Swift и Objective-C проектам.

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