Случается, что готовый мобильный продукт отличается от того, что изначально было в макете. Конечно, все мы соблюдаем размеры и отступы, но этого не всегда достаточно. Очень часто мы забываем (возможно, не случайно) про параметры текста, вот о них и пойдет речь ниже.
Рубрика «ios development» - 21
Как подружить iOS-приложение с типографикой
2016-03-23 в 13:59, admin, рубрики: ios development, Блог компании REDMADROBOT, дизайн, дизайн интерфейсов, дизайн мобильных приложений, разработка мобильных приложений, разработка под iOSСвежак для iOS-разработчиков — Digest MBLTdev
2016-03-11 в 13:12, admin, рубрики: digestmbltdev, ios development, iOS разработка, mblt, mbltdev, os x разработка, swift, Блог компании e-Legion Ltd., новости недели, новости технологий, полезная информация, полезные ссылки, разработка мобильных приложений, разработка под iOS, Разработка под OS X, метки: digestmbltdevАнонс мероприятия Apple, 3D графика без OpenGL, как использовать UILayoutGuide из кода и война с AdBlock — об этом и не только рассказывает подборка свежих статей в 57 выпуске Digest MBLTdev.
Продолжаем публиковать Digest MBLTdev — полезные материалы для iOS-разработчиков за неделю собранные с просторов мирового интернета. Новости, коды, инструменты, дизайн и прочее.

Читать полностью »
Работа мечты или небольшая история мобильной разработки
2016-03-03 в 11:58, admin, рубрики: Apple Store, appstore, game development, iOS, ios development, iphone, unity3d, игры, разработка мобильных приложений, Разработка под android, разработка под iOS, разработка приложенийГлава 1. В поисках сокровищ
Иногда процесс разработки мобильной игры, можно сравнить с поиском сокровищ. Вы тяжело трудитесь, день за днем, месяц за месяцем, строите планы и на них базируются ваши ожидания. Мечтаете. Конечно. Вы много мечтаете, что однажды наступит тот самый день, когда ваши поиски закончатся и все ваши мечты сбудутся. Это могут быть деньги, слава или уважение от миллионов. Но мечты для романтиков, а в реальной жизни все продолжается. Поиски. Разработка.
Но, что будет, если вы делаете игру о поиске тех самых сокровищ? На это у нас пока еще нет ответа, но мы, хотябы попытались. Мы кое-что нашли. А сокровище это или нет, вопрос к тебе, дорогой читатель.

Если вы читаете эту статью, значит мы выжили после разработки третьей по счету мобильной игры и выпустили её в свет. За время разработки, я много раз открывал заветную иконку хабры, дабы увидеть очередной рассказ от разработчиков, которые делятся своим опытом и впечатлениями. К сожалению, многие разработчики упускают много тонкостей и нюансов, особенно, если это касается бюджета и продвижения их игры, а зря.Читать полностью »
Разработка библиотеки для IOS-Android на Golang
2016-02-24 в 2:25, admin, рубрики: adroid development, Go, golang, gomobile, ios development, mobile development, SDK, разработка мобильных приложений, Разработка под android, разработка под iOS 
Кроссплатформенная разработка мобильных приложений была очень популярна в свое время. Данный подход использовали большинство компаний во время становления мобильной отрасли. Основные причины задействовать кроссплатформенную разработку были просты — отсутствие профессиональных кадров на рынке, скорость и стоимость разработки. К сожалению, в большинстве случаев, данный подход не оправдал себя.
Но почему бы не дать ему второй шанс? Технологии шагнули вперед и теоретически мы можем получить очень качественный продукт. В данной статье мы рассмотрим на практике как разработать библиотеку для IOS/Android на языке Golang и посмотрим с какими ограничениями и проблемами мы столкнулись в процессе разработки.
Читать полностью »
Получаем данные по websocket используя swift и заполняем UITableView (сервер node.js)
2016-02-20 в 13:52, admin, рубрики: iOS, ios development, iOS SDK, iOS разработка, node.js, nodejs, swift, swift 2, WebSocket, Программирование, разработка мобильных приложений, разработка под iOSНе нашел ни одного актуального гайда по работе с websocket в Xcode, вот мой опыт, надеюсь какому-то новичку поможет, и он не потратит столько времени в поисках как я.
Для подключения по websocket мы будем использовать SocketIOClientSwift
Скачать можно тут.
Установка там тоже в принципе описывается, но для тех кто совсем в танке расскажу, что есть простой способ, просто добавьте файлы из папки source в свой проект.
В нашем примере мы будем получать тикеты из системы технической поддержки которая работает на node.js
Читать полностью »
До чего доводит идея (Objective-C) — target-action на блоках и много рантайма
2016-02-19 в 16:44, admin, рубрики: clang, ios development, objective-c, os x development, разработка под iOS, Разработка под OS X Пришла мне как-то в голову идея, а можно ли взять блок и отдать для target-action?
Есть готовые решения, как к примеру BlocksKit и другие библиотеки, однако их решение заключается в сохранении блока, установкой таргета и вызова блока из указанного селектора.
Зачем тогда нужна эта статья?
Я захотел создать способ генерации селектора, по которому будет вызван блок. Что здесь сложного, скажете вы? imp_implementationWithBlock + class_addMethod и дело закрыто. Но при этом подходе есть одно серьезное требование, это первый аргумент блока — владелец метода.
Как обойти это требование и сделать такое?
[button addTarget:self action:[self ax_lambda:^(UIButton *sender, UIEvent *event){
NSLog(@"click on button %@, event = %@", sender, event);
}] forControlEvents:UIControlEventTouchUpInside];
[button addTarget:self action:[self ax_lambda:^{
NSLog(@"click");
}] forControlEvents:UIControlEventTouchUpInside];
Или даже вот так
__block NSInteger sum = 0;
[self performSelector:[self ax_lambda:^(NSNumber *argA, NSNumber *argB) {
sum = [argA integerValue] + [argB integerValue];
}] withObject:@(2) withObject:@(3)];
//sum — 5
SEL selSum = [self ax_lambda:^NSInteger(NSInteger argA, NSInteger argB){
return argA + argB;
}];
NSInteger(*funcSum)(id, SEL, NSInteger, NSInteger) = (NSInteger(*)(id, SEL, NSInteger, NSInteger))objc_msgSend;
NSInteger sum2 = funcSum(self, selSum, 2, 3);
//sum2 — 5
Реализация оказалась настолько интересной, что я решил написать об этом.
Читать полностью »
Подключение SQLite к мобильному приложению iOS через FMDB на Xcode используя Swift
2016-02-17 в 14:15, admin, рубрики: iOS, ios development, iOS разработка, iosdev, sqlite, sqllite, swift, xcode, разработка мобильных приложений, разработка под iOSСтолкнувшись с задачей подключить SQLLite к своему мобильному приложению iOS через FMDB, я не нашел ни одного актуального гайда на русском языке. И тем более для Swift. В этой статье я постараюсь этого исправить.
В этом гайде будут использоваться файлы с objective-c, поэтому не надо ждать порта FMDB на Swift.
Скачать FMDB можно тут.
В FMDB три main class:
FMDatabase — представляет данных SQLite. Используется для выполнения SQL-операторов.
FMResultSet — представляет результаты выполнения запроса по FMDatabase.
FMDatabaseQueue — если вы хотите, чтобы выполнялись запросы и обновления на несколько потоков, можно использовать этот класс. Пример в 8 пункте.
Прежде чем вы сможете взаимодействовать с базой данных, она должен быть открыта. Открытие завершиться с ошибкой, если нет достаточных ресурсов или разрешения на открытие и/или создания базы данных.
if (![db open]) {
[db release];
return;
}
Шаги:
Читать полностью »
АльфаCтрахование Мобайл. Как мы объединили несколько ИТ-систем в одном приложении: кейс
2016-02-09 в 11:18, admin, рубрики: android development, ios development, redmadrobot, Блог компании REDMADROBOT, дизайн интерфейсов, интерфейсы, кейс, мобильная разработка, проектирование интерфейсов, разработка мобильных приложений, Разработка под android, разработка под iOS 
Практически все в нашей жизни — будь то здоровье, имущество или турпоездка — может быть застраховано. Более сотни страховых продуктов с индивидуальными процессами по оформлению страховых случаев и возмещению убытков, а также — несколько ИТ-систем. Это ровно то, что мы увидели, когда начали работать над проектом сервисного мобильного приложения «АльфаСтрахование Мобайл». Суть приложения сводилась к нетривиальной задаче объединить все страховые продукты и процессы «АльфаСтрахование» — сделать для мобильного пользователя единый канал коммуникации со страховой компанией на все случаи жизни.
Примем как аксиому, что клиентам нужен мобильный доступ к страховым сервисам. Дальше теоретически есть два варианта: иметь несколько отдельных приложений по каждому виду страхования или все-таки делать единое приложение для управления всеми полисами. Первый вариант более простой с точки зрения разработки, второй — значительно сложнее, но куда удобнее для пользователя. Мы пошли вторым путем.
Борьба с геолокационными сервисами
2016-02-03 в 10:49, admin, рубрики: e-legion, gps, ios development, iOS разработка, mbltdev, mobile development, Runkeeper, Блог компании e-Legion Ltd., Геоинформационные сервисы, разработка мобильных приложений, разработка под iOSОдним из важных показателей качества мобильного приложения является уровень его энергопотребления. При этом широко известен тот факт, что использование геолокации способно значительно сократить время жизни устройства.
В своем докладе, Филлип Коннатон, разработчик из Runkeeper (один из самых популярных GPS трекеров), расскажет о том, как наиболее эффективно использовать геолокацию внутри приложения и как менялись способы работы с ней в мобильной экосистеме Apple, начиная с самых ранних устройств на iOS и заканчивая watchOS 2. А в качестве бонуса вы узнаете, какими качествами нужно обладать QA специалисту для работы в Runkeeper и чьим голосом говорит приложение.
Читать полностью »
Unsafe в Swift
2016-02-03 в 9:09, admin, рубрики: ios development, iOS разработка, memory, memory leak, pointer, swift, разработка под iOS, указателиСоздатели современных языков программирования всеми силами пытаются увести программистов от прямой работы с указателями и памятью, либо вообще не включая в язык подобные возможности (например, Java) либо маркируя их страшными словами unsafe (C#). Пишущим на swift повезло, этот язык попал во вторую категорию, и хотя это не рекомендуется, а в документации встречаются предупреждения о возможных утечках памяти и прочих страшилках возможность такая есть!
В этой статья я хотел бы рассмотреть работу с указателями в swift, а так же порассуждать для чего это вообще может понадобиться.
Читать полностью »

