Pull to refresh
31
0
Send message

Полезные штуки для iOS-разработчика #2

Reading time3 min
Views38K
Некоторое время назад я прочитал интересный пост, посвященный полезным фрэймворкам и библиотекам для разработки под iOS. С вашего позволения и согласия Coder89 представляю «Полезные штуки для iOS-разработчика часть вторая».
Читать дальше →

Создание красивого образа .dmg для программы в [Mac] OS X

Reading time6 min
Views29K
Приветствую достопочтенных жителей Хабра!

Сегодня я расскажу вам о том, как красиво преподнести пользователю инсталлятор своей программы. Наверняка каждый, кто пользуется не только программами из AppStore, сталкивался с красивыми образами диска .dmg, как вот у Адиума, к примеру. Такой образ представляет из себя, так сказать, интерактивный инсталлятор, в котором дана чёткая подсказка: перетащи значок вот сюда. Всё предельно понятно и просто.

Конечно, для бывалого маковода и zip-архив сгодится, но ведь все любят, чтоб было красиво и удобно. Так что мы с вами, дорогие читатели, озаботимся сегодня созданием такого вот красивого образа диска для своей (ну или чужой) программы.

Можно, конечно, проделать это всё вручную, но это не_наш_метод™, так что мы будем писать shell-скрипт для автоматизации сего процесса. Автоматизация нам так же пригодится в случае ввода в эксплуатацию билд-сервера, тогда этот сервер будет не только собирать программу из исходников, но и делать образ диска для дистрибьюции.

Если Вам не нужно знать как работает такой скрипт, а нужен лишь инструмент — в конце имеется ссылка на весьма универсальный скрипт, готовый к применению.
Приступим

Соединение «самопальных» устройств по bluetooth с iOS

Reading time2 min
Views18K
Здраствуй, Хабраюзер! Возникла у меня на работе ситуация, что нужно было спроектировать устройство для iOS, которое бы посредством bluetooth передавало данные на iPad. Если в кратце- это устройство, которое должно прятаться в обычной пачке сигарет и передавать на ipad данные, на каком ребре она лежит. Я начал штудировать сайт apple на предмет взаимодействия bluetooth- устройств и самого ipad, но предлагались варианты либо использовать GameKit (что нам совсем не подходило), либо вступать в программу Apple MFi ( которая несет кучу ограничений и просто так в нее не вступишь). Начали искать решения, и тут подвернулся мне человек, очень хорошо дружащий с электроникой.
Читать дальше →

Многоканальный программный ШИМ в AVR

Reading time5 min
Views136K
Что такое ШИМ и как он работает особо подробно расписывать не буду, информацию без труда найдёте на просторах интернета. Коснусь лишь общих понятий. ШИМ — это Широтно-Импульсная Модуляция, (по-английски PWM — Pulse Width Modulation) уже из самого названия ясно, что здесь что-то связанное с импульсами и их шириной. Если изменять ширину (длительность) импульсов постоянной частоты, то можно управлять, например, яркостью источника света, скоростью вращения вала электродвигателя или температурой какого-либо нагревательного элемента. Обычно, именно с помощью ШИМ микроконтроллер управляет подобной нагрузкой. Микроконтроллеры имеют аппаратную реализацию ШИМ, но, к сожалению, количество аппаратных ШИМ-каналов ограничено, например, в AТmega88 их аж шесть штук, в ATtiny2313 — четыре, в ATmega8 — три, а в ATtiny13 только два. В AVR ШИМ-каналы используют таймеры и их регистры сравнения OCRxx. Изменяя их содержимое и задавая параметры таймеров, в зависимости от задач, можно управлять состоянием, связанного с регистром, выхода — подавать на него 1 либо 0. То же самое можно организовать программно, управляя любым выводом контроллера, а главное, реализовать большее количество ШИМ-каналов, чем имеется на борту аппаратных. Практически, количество каналов ограничено лишь количеством ножек-выводов микроконтроллера (по крайней мере, если говорить о семействах Mega или Tiny). Как оказалось, алгоритм довольно прост, но у меня ушло некоторое время на его понимание и полное осознание.
Читать дальше →

Как я писал Футболоид под iOS

Reading time15 min
Views41K
Приветствую достопочтеннейших Хабралюдей!


Не так давно, во время поиска новой работы, я получил очень интересное тестовое задание от ZeptoLab: написать за пару рабочих дней арканоид под iOS без использования сторонних библиотек типа Cocos2d/Box2d и т.п., то есть, на «чистом» OpenGL, что показалось мне весьма интересным. Кстати, об этом задании на Хабре уже писали, и даже устраивали разбор полётов. Итак, я бросил вызов судьбе и взялся за геймдев впервые после школьных упражнений с васиком в графическом режиме!

Уточню, что некоторые знания OpenGL у меня уже были, но весьма и весьма поверхностные. Можно сказать, что их не было ну почти совсем, я просто знал, что такое вьюпорт и что бывают какие-то там спрайты, что существуют матрицы преобразования… Так что данная статья могла бы быть озаглавлена "Как написать простую игру под iOS на чистом OpenGL, не зная его", но это слишком уж длинно.

В общем, если Вам интересно, как я это сделал за ~10 часов разработки и ~2 часа чтения, прошу под кат. (осторожно! много кода! мало картинок! ссылка на гитхаб и расслабляющее видео в конце!)
Поехали

SQLite — замечательная встраиваемая БД (часть 1)

Reading time5 min
Views490K
Решил все-таки написать статью про SQLite, в которой хочу обобщить свой 3-х летний опыт использования этой БД под Windows. Вижу, что тема популярная, но информации мало.

Часть 2
Часть 3

Небольшая вводная.

Эта статья не для начинающих программистов.
Она не является учебником по SQL.
Она не агитирует использовать SQLite.
Она не агитирует не использовать SQLite.
Статья написана в виде вопросов от гипотетического новичка в SQLite и ответов на них (поскольку информации очень много и так хоть немного проще ее структурировать).

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

Notifus: перенос GMail-писем, на которые вам так и не ответили, во Входящие

Reading time3 min
Views7.2K

Речь пойдет о микросервисе «Notifus», который я вначале делал для собственного использования, а затем выложил наружу. Notifus — это браузерное расширение, добавляющее новый функционал к GMail. Его главная цель — освободить нашу голову от беспокойства: ответят на письмо или нет? Расширение помогает нам «вспоминать» о письмах, на которые мы так и не получили ответа, перенося их обратно во Входящие и помечая непрочитанными.

Для чего же это нужно? Чтобы вы могли вежливо напомнить человеку: вы все еще ждете от него ответа (и, как часто бывает, побудить этим напоминанием к действию).

Мир, увы, несовершенен, и зачастую сценарий переписки с третьей стороной (чаще — вне вашей компании, но иногда и внутри) выглядит так:

  1. Вы пишете письмо с вопросом или предложением.
  2. Проходит неделя, ответа нет. Вы пишете письмо вида «Нет ли новостей?».
  3. Если снова нет ответа несколько дней, то вы пишете еще раз: «Ответьте, пожалуйста! Очень жду.».
  4. И в результате вы, спустя пару недель, наконец получаете ответ на свое письмо.
Читать дальше →

Новый IP DECT от Grandstream DP715/DP710

Reading time4 min
Views24K


Уже хорошо известный производитель устройств VoIP телефонии вышел на рынок с бюджетным решением по беспроводным телефонам. Решение состоит из двух позиций – DECT трубка в комплекте с базовой станцией (она же и подставка для аппарата и зарядка) называется DP715. Обзор под катом.

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

Хочешь быть iOS разработчиком? Будь им!

Reading time2 min
Views389K
На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.

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

Objective-C Runtime изнутри

Reading time5 min
Views34K
(оригинал — Mike Ash, взято отсюда)

Многие Cocoa разработчики имеют довольно смутное представление об Objective-C Runtime API. Они знают, что он существует где-то там (некоторые не знают даже этого!), что он важен, и Objective-C без него неработоспособен, но обычно этим все знания и ограничиваются.

Сегодня я расскажу о том, как устроен Objective-C на уровне Runtime и о том, как конекретно вы можете это использовать.
Читать дальше →

Обзор гелевого принтера Ricoh Aficio SG 3110 DNw

Reading time5 min
Views49K
Вы когда-нибудь слышали о гелевых принтерах? Вот и я слышал краем уха, но сталкиваться с ними в жизни не доводилось. А вот на прошлой неделе случилось не только воочию увидеть такое устройство, но и даже немного поработать с ним. Речь о принтере Ricoh Aficio SG 3110 DNw. Собственно, его обзор – под хабракатом.



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

Два подхода к проектированию ПО для embedded

Reading time9 min
Views37K
Хочу немного рассказать о двух подходах проектирования ПО в embedded. Два подхода эти – c использованием суперцикла или же с использованием RTOS (Real-Time Operation System, операционная система реального времени).

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

Надеюсь, будет интересно всем тем, кто хочет заглянуть в мир разработки для встраиваемых систем. Для тех, кто в embedded уже собаку съел, скорее всего, не будет ничего нового.
Читать дальше →

Видеозахват-2

Reading time3 min
Views2.2K
imageНесложно жить в 21 веке. Еще проще получить видео-картинку с любой из камер iPhone внутри своего приложения.
Как это сделать и как это сделал я, было рассказано в статье про фруктожорку.

Воображение не остановилось на достигнутом.
Полученные фотографии можно использовать и в трехмерном мире.
Пример трехмерного объекта с плоской картинкой на боку Вы видите слева от текста.
Если не видите логотипа на изображении вазы, включите режим просмотр картинок в Вашем браузере.

Ниже я приведу пример превращения плоской картинки в GL текстуру и расскажу, как я тайком подглядывал за iOS Review Team.

Напоминаю, что iOS Review Team — это люди, которые проверяют наши приложения для одобрения в appStore.

Подглядывать здесь

Разработчик в камере. Видео

Reading time5 min
Views4.2K
Apple постоянно держит разработчиков в тонусе.
Фронтальные камеры на iPad и iPhone родили новый виток идей у создателей сиюминутных приложений. Я тоже провел небольшое исследование двухкамерных телефонов и приглашаю нажать на кнопку, кому это интересно.

image

Видеозахват в iOS 4.3+ стал простым, как апельсин.

Подробности камеры

Превращаем iPad в 3D мышь

Reading time1 min
Views4K

Если Вы всегда считали iPad устройством только для чтения интернета, просмотра видео и игр, то команда из компании Maide думает по другому. Разработав набор программ, они превратили его в устройство ввода, которое расширяет возможности управления CAD системой.
Читать дальше →

Управление несколькими сервоприводами с высокой точностью на МК ATmega16

Reading time3 min
Views51K
Недавно ко мне обратились знакомые из макетной мастерской и предложили поработать над весьма интересным проектом. Им необходимо было выполнить макет, в котором бы двигались детали нескольких машин (кран, экскаватор, разрушитель). Логика несложная, но особенность в том, что они должны были двигаться со скоростью, гораздо ниже, чем скорость самих приводов, а это возможно реализовать только проходом через промежуточные точки. В этой статье я хочу познакомить вас с интересным методом точного управления большим количеством сервоприводов.

В моем случае предполагалось использовать четыре привода. Для этого проекта я изготовил небольшую плату:

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

Обзор GPS трекера BCE FM Blue

Reading time8 min
Views17K
Раньше трекеров на рынке СНГ было всего несколько штук, и выбрать было совсем просто, зато теперь десятки производителей выпускают множество версий. При этом естественно каждая новая версия обладает всё более расширенным функционалом, что делает производителя более конкурентным на рынке, ну и заодно предоставляет клиентам больше возможностей.

Так разобраться в этих продуктах конкурентной гонки производителей становится всё сложнее, выкладываю обзор BCE FM Blue — контроллера от «Baltic car equipment» (BCE), литовского производителя электронного оборудования для автомобилей.



FM Blue — это GPS/GSM прибор, позволяющий осуществлять мониторинг подвижных и стационарных объектов. Комплект поставки включает в себя центральный блок, провода для подключения, внешние GPS и GSM антенны и предохранитель на 1А.
Читать дальше

Прямая печать плат на текстолите

Reading time3 min
Views185K
Вот периодически мне бывает нужно сделать печатные платы для моих поделок. ЛУТ для меня чрезвычайно капризный метод — то тонер переплавится и растечется, то качество бумаги не сгодится, то еще какой- нибудь геморрой — нервы нужны стальные-железные. Для фоторезиста реактивы специфические и ламинатор.

«А если для этого станочек специальный соорудить? Чтоб сразу краской печатать?», — подумалось мне. «Принтер переделай!», — резонно заметила лень. Поиск в интернете выявил, что люди успешно переделывают для печати на текстолите струйники, однако это довольно трудоемкий процесс (нужно допиливать и поднимать рамку с печатающей головкой и т. п.), к тому же, своим струйным принтером я дорожу, как мадам Грицацуева ситечком (МФУ, все-таки). А вот ненужный лазерный HP lj 6L у меня валялся без дела — в общем, довалялся. Полез смотреть характеристики и случайно наткнулся на статью (кэш статьи, на всякий пожарный) по переделке именно этого принтера под текстолит. Но тема в статье так и не раскрылась до конца — в частности, там не рассказывается, как сделать так, чтобы тонер прилипал к фольге текстолита, чем потом этот тонер запекать и, главное, — нет видеодемонстрации работающего образца, поэтому я довел это дело до ума самостоятельно. Я настоятельно рекомендую ознакомиться с вышеупомянутой статьей, потому что повторять описанное там во всех деталях не буду — нечего плодить копипаст. Под катом много фотографий.
Читать дальше →

Изучаем MIPS-ассемблер

Reading time7 min
Views68K


Как говорит Википедия, MIPS – микропроцессор, разработанный компанией MIPS Computer Systems (в настоящее время MIPS Technologies) и впервые реализованный 1985 году. Существует большое количество модификаций этой архитектуры, созданных специально для 3D-моделирования, быстрой обработки чисел с плавающей запятой, многопотоковых вычислений. Различные варианты этих процессоров использутся в роутерах Cisco и Mikrotik, смартфонах, планшетах и игровых консолях.

Инструкции MIPS достаточно просты для понимания, и именно с него рекомендуется начинать изучение ассемблера. Чем сейчас, собственно, и займёмся.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity