Коротко и ясно о разработке на C#, Java, Swift. Под Android, iOS, WinForms и Unity

Самые комментируемые за месяц

Использование QLPreviewController для просмотра файлов (iOS)

13 января 2016, 22:10

Для реализации просмотра файлов различных форматов (изображения, word, excel, txt, медиа и т. п.) в iOS существует очень удобный класс QLPreviewController. Для его удобного использования необходимо сделать следующее:


  1. Создать класс-наследник QLPreviewController, который инкапсулирует все детали реализации
  2. Создать класс QLPreviewControllerDataSource, который будет являться источником данных для контроллера
  3. Создать классы-наследники QLPreviewItem, которые будут хранить информацию о просматриваемом элементе

Работа с AVAudioPlayer и MPNowPlayingInfo (iOS)

18 января 2016, 23:11

В ходе разработки приложений под iOS часто возникает необходимость проиграть аудио-файл, например композицию или эффект. Наиболее простым способом для этого в iOS является использование класса AVAudioPlayer. Он является частью фреймворка AVFoundation, так что нам потребуется поставить на него using.

Ниже представлен код хэлпера, упрощающего работу с этим классом.

Получение информации о состоянии батареи в MacOS (выполнением консольной команды)

2 января 2017, 12:44

После обновления MacOS до Sierra я столкнулся с проблемой — в статус баре исчезла информация об оставшемся времени работы от батареи. Проблема на самом деле решается очень просто — можно установить стороннее приложение Battery-Time-Remaining, которое является настоящим швейцарским ножом в области работы с батареей макбука. Но мне захотелось разобраться как можно получить информацию об оставшемся времени работы от батареи в MacOS и написать свое приложение для статус бара.


Существует два способа получения состояния батареи в MacOS:


  1. (правильный) при помощи набора функций IOPowerFunctions фреймворка IOKit;
  2. (быстрый) выполнением консольной команды “pmset -g batt” и парсинга вывода.

Отладка Android-приложений через Wi-Fi

31 октября 2015, 11:10

Для отладки своих приложений на живых девайсах разработчики в большинстве своем подключают устройство по USB. Стоит подключить устройство (с разрешенным режимом отладки по USB), его тут же видит утилита ADB и позволяет отлаживать. Но у такого подхода есть два очевидных минуса:


  1. Устройство постоянно заряжается, что пагубно влияет на аккумулятор
  2. От повышенного износа страдает USB-разъем на устройстве и в один прекрасный момент может сломаться

Не все знают, но утилита ADB имеет режим отладки по сети, что позволит нам организовать сей процесс через Wi-Fi и избавиться от проблем, описанных выше.

Преобразование файла интерфейса Storyboard из формата экрана iPhone в iPad

11 ноября 2015, 0:15

Рано или поздно при разработке приложения под iPhone возникает необходимость адаптировать интерфейс приложения под iPad. Если приложение большое создавать интерфейс под планшет с нуля может оказаться весьма накладным по времени и ресурсам делом.


Чтобы облегчить себе труд можно создать файл с интерфейсом для iPad из файла интерфейса iPhone. Для этого необходимо выполнить следующие шаги:


  1. Дублируем файл MainStoryboard_iPhone.storyboard и переименовываем дубль в MainStoryboard_iPad.storyboard
  2. Открываем наш файл обычным текстовым редактором (рекомендую для этого использовать SublimeText2) и ищем следующий атрибут: targetRuntime=«iOS.CocoaTouch», дописываем в конце значения этого атрибута “.iPad”, должно получиться вот так: targetRuntime=«iOS.CocoaTouch.iPad»
  3. Далее если присутствует тег “simulatedScreenMetrics” удаляем в нем атрибут “type” со значением “retina4”
  4. Далее пробегаемся автозаменой по файлу и заменяем значения ширин и высот экрана iPhone на значения экрана iPad (например width=«320» => width=«768», height=«568» => height=«1024»)
  5. Сохраняем Storyboard, открываем ее в Interface Builder, корректируем положения экранов и лэйауты элементов

Таким не хитрым образом мы быстро получили вариант интерфейса для iPad из интерфейса iPhone.