Обновить
0

Objective C *

Компилируемый объектно-ориентированный язык

Сначала показывать
Порог рейтинга
Уровень сложности

Swift 2.0 будет с открытым кодом в конце года

Время на прочтение1 мин
Охват и читатели23K
8 июня на проводимом ежегодно WWDC компания Apple анонсировала новую версию языка Swift 2.0



Как написано в блоге Swift и на странице для разработчиков на Swift, новая версия получила более высокую производительность, новое API обработки ошибок, улучшения синтаксиса языка, а также функцию проверки доступности функций Swift для целевых ОС.

На мой взгляд, самое интересное – Apple открывает код Swift. Да, Swift 2.0 — это Open Source язык программирования.
Читать дальше →

App Store style кастомизируемая кнопка загрузки

Время на прочтение1 мин
Охват и читатели8.8K
github.com/PavelKatunin/DownloadButton

Недавно появилась потребность сделать кнопку загрузки для видео, сам этап загрузки был очень похож на стандартную кнопку загрузки приложений в Appstore, но только линия, отображающая уже загруженные данные, должна была быть снаружи. Я подумал, что такой контрол может быть удобен для отображения загрузки разных вещей и что он может пригодиться где-то еще — и вынес его в отдельный фреймворк и оформил в виде cocoapods. Опубликован под Apache 2.0.

Очень приветствуется использование, редактирование кода, заведение issue на github, предложения по новым фичам и отправка пул реквестов.
Читать дальше →

Почему айфон перезагружается от арабской смс

Время на прочтение6 мин
Охват и читатели234K
DISCLAIMER

Не пытайтесь повторить это со своими телефонами и телефонами коллег! Судя по комментариям, много людей уже заразили свои телефоны, а 100%-тного лекарства еще нет!

DISCLAIMER 2

Даже не пытайтесь назвать так Wi-fi точку!

Около 15 часов назад на Reddit появился забавный пост, который рассказывал о перезагрузке айфона после странного сообщения вида:
Не шлите никому на айфон
Power
لُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ



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

Да начнется unit-тестирование (Objective-C)

Время на прочтение10 мин
Охват и читатели36K
Данная статья посвящена вопросу тестирования в рамках Objective-C используя Xcode 6. Рассматриваются стандартная библиотека для тестирования и сторонняя библиотека OCMock. Опытные разработчики, возможно, не найдут здесь слишком полезной информации, тем же, кто недавно встал на этот путь — статья откроет необходимые базовые знания по написанию unit-тестов на языке Objective-C.

Для основы тестирования просьба обратиться сюда.
Для основы unit-тестирования сюда.

А теперь мы начнем изучение unit-тестирования в рамках Objective-C.
Читать дальше →

Примеры тестовых заданий для iOS-разработчиков

Время на прочтение3 мин
Охват и читатели47K
Я воспринимаю тестовые задания как хороший и адекватный метод отбора людей (для противников этого мнения есть голосовалка в конце поста), ведь работодатель может оценить конкретно то, что и будет делать сотрудник за своим рабочим местом. И поэтому зачастую с энтузиазмом принимаюсь за их выполнение, не смотря на то, что делать их приходится по ночам. К тому же, задания обычно небольшие и их можно расценивать как написание прототипов — а прототипы писать я тоже люблю. В общем опыт положительный, а положительный настрой — великое дело.



Здесь я хотел бы поделиться примерами тестовых заданий от разных работодателей: маленьких и больших, зарубежных и отечественных. Названия компаний приводиться не будут. Каждый пример задания будет сопровождаться ссылкой на репозиторий где лежит мой вариант решения. С кодом этим, можно делать все, что угодно: использовать в проектах, исправлять, посылать пул реквесты.
Читать дальше →

Управляем зависимостями в iOS-приложениях правильно: Знакомство с Typhoon

Время на прочтение8 мин
Охват и читатели36K
«Any magic, sufficiently analyzed is indistinguishable from technology.»

Артур Кларк
(эпиграф в официальной wiki проекта Typhoon Framework)




Цикл «Управляем зависимостями в iOS-приложениях правильно»



Введение


В рамках этого цикла статей я не буду углубляться в теорию, рассматривать Dependency Inversion Principle или паттерны Dependency Injection — примем за данность, что читатель уже достаточно подготовлен к тому, чтобы познать дзен, и перейдем сразу к практике (ссылки для знакомства с теорией даны в самом конце поста).

Typhoon Framework — это самая известная и популярная реализация DI-контейнера для Objective-C и Swift приложений. Проект достаточно молодой — первый коммит был сделан в самом конце 2012 года, но уже обзавелся большим количеством поклонников. Отдельного упоминания заслуживает активная поддержка проекта его создателями (один из которых, между прочим, живет и работает в Омске) — на большинство создаваемых Issue отвечают в течение десяти минут, а уже через несколько часов к обсуждению присоединяется вся команда.
Читать дальше →

Циклические контейнеры в Objective-C

Время на прочтение2 мин
Охват и читатели7.8K
Некоторое время назад я написал этот код:

NSMutableArray *environments = [NSMutableArray new];
for (NSString *key in [dictionary allKeys]) {
    XCCEnvironment *environment = [[XCCEnvironment alloc] initWithName:key
                                                            parameters:dictionary[key]];
    [environments addObject:environments];
}
return environments;

Заметили проблему? Я — нет.
Читать дальше →

О переводе проекта с Objective-C на Swift

Время на прочтение9 мин
Охват и читатели19K
Здравствуйте, уважаемые читатели.

Среди самых животрепещущих тем, которые поднимались на наших издательских советах в последние полгода, особое место занимает язык программирования Swift. При огромном интересе к нему со стороны западных разработчиков и при подлинном изобилии книг на эту тему язык пока кажется довольно сырым. Поэтому, прощупывая почву насчет востребованности нового языка, предлагаем познакомиться с постом великолепного Мэтта Нейбурга, автора книги «Programming iOS 8: Dive Deep into Views, View Controllers, and Frameworks». Автор подробно описывает перевод приложения на новый эппловский язык, убедительно доказывая: «глаза боятся — руки делают», а гибридная сборка Objective-C и Swift отнюдь не напоминает смесь французского с нижегородским.

Приятного прочтения и плодотворных экспериментов.
Читать дальше →

Переходы при помощи CoreAnimation: анимируем появление изображения

Время на прочтение6 мин
Охват и читатели12K
Недавно я наткнулся на интересный концепт банковского приложения. Интересен он не только лишь тем, что выглядит значительно удобнее мобильного приложения любого банка, но и своими невероятными анимациями. Некоторые мне так понравились, что я решил незамедлительно их где-нибудь применить. В частности, мне показалась очень интересной анимация появления на экране фотографии пользователя и иконок управления его картой.
Читать дальше →

Создание простого приложения для Apple Watch. Личный опыт на примере Рамблер.Новостей

Время на прочтение9 мин
Охват и читатели13K
24 апреля 2015 года Apple выпустила в продажу умные часы Apple Watch, спустя полгода после их первого анонса на презентации в Калифорнии. Рамблер не мог остаться в стороне. Ознакомившись с WatchKit SDK и гайдлайнами нам стало ясно, что на данный момент возможностей немного и в целом, разработка не должна занять много времени.

image  image  image  image  

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

Стажировка в Redmadrobot: жаркая, летняя, интересная

Время на прочтение3 мин
Охват и читатели22K
Мы открываем набор жаждущих знаний и дела разработчиков, с которыми хотим провести лето на море в Москве. Боевой курс мобильной разработки с погружением в бассейн реальные проекты и роботы-менторы.

image

Подробнее — под катом.
Читать дальше →

Запускаем музыкальный плеер в эмуляторе

Время на прочтение2 мин
Охват и читатели5.7K

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

Если вы iOS-разработчик, то, скорее всего, знаете, что получить доступ к библиотеке с музыкой (iPod Library) можно только на реальном устройстве, но не на эмуляторе (iPhone Simulator) [ссылка на документацию]:

Note: iPod library access works only on devices and not in the Simulator. This is because the Simulator has no access to a device’s iPod library. To develop applications using the classes in this technology, you need a provisioned iOS device.

Однако, не всегда нужен доступ именно к файлам с музыкой, порой достаточно только информации о треках (название, исполнитель, обложка и т.д.) Для такой ситуации можно создать иллюзию работы с iPod Library.
Читать дальше →

Часто задаваемые вопросы по фреймворку WatchKit

Время на прочтение16 мин
Охват и читатели17K
Для разработчиков Apple Watch — не просто нашумевший гаджет. Теперь им приходится осваивать Watch Kit, чтобы создавать и адаптировать свои приложения для «умных» часов. По мере знакомства с этой технологией, конечно же, возникает множество вопросов.

Мы в компании Alconost перевели обширный FAQ по фреймворку WatchKit. Будем рады, если труд наших технических переводчиков окажется для вас полезным. Для некоторых вопросов четких решений пока нет: в таких случаях следует полагаться на здравый смысл, советы специалистов и обоснованные предположения. Эта технология все еще в значительной мере находится в разработке, а следовательно, может изменяться. Тем не менее, ответы на многие животрепещущие вопросы уже найдены. Приглашаем вас под кат!


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

Ближайшие события

История разработки iOS-приложения. В основном про грабли

Время на прочтение5 мин
Охват и читатели7.9K
Я понимаю, что на Хабре таких историй уже очень много. Но каждая история уникальна и является маленькой каплей в чаше чьего-либо вдохновения. В этой статье я расскажу, как писал свое приложение для iOS, на какие грабли наступил и что бы я сделал по-другому в своих будущих проектах.

Идея


Основа основ — это идея. Сложно что-либо реализовать без четкой идеи, что должно быть в конце. И такая идея у меня была. Мне всегда были интересны количественные показатели моей жизни. Причем именно тех критериев, которые технике померить просто невозможно. Они субъективны и оцениваются нами по ощущениям. Родилась идея сделать приложение, которое позволило бы оценивать прошедшей день именно по таким субъективным идеям. К тому же, было бы неплохо, если бы оно еще и помогало отмечать прогресс на пути к достижению цели.
Читать дальше →

Напиши под то, не знаю что: особенности разработки под Apple Watch на примере Почты Mail.Ru

Время на прочтение13 мин
Охват и читатели17K


Привет, Хабр! Недавно мы обновили приложение Почты Mail.Ru для iOS. Теперь оно поддерживает Apple Watch. Сегодня я хочу рассказать, с чем мы столкнулись при разработке приложения для еще не вышедших на тот момент часов, и поговорить о том, как справляться с минимализмом SDK и невозможностью протестировать приложение на «живом» девайсе.
Читать дальше →

Apple Watch: как сделать приложение под часы и не облажаться

Время на прочтение18 мин
Охват и читатели45K
Сегодня стартовали официальные продажи Apple Watch. 90% умопомрачительных концептов приложений под них, которые можно найти в Сети, нереализуемы — тем, кто знаком с гайдлайнами Apple, это хорошо известно. О том, что реализовать на часах все же можно и как это лучше сделать с точки зрения разработки и дизайна — под хабракатом.
Такие желанные
Читать дальше →

Как мы научили iPhone футбольные клубы распознавать

Время на прочтение25 мин
Охват и читатели9.3K


Привет, Хабр!

Меня зовут Игорь Литвиненко, я уже более трех лет занимаюсь разработкой под мобильные устройства, в основном под iOS. В DataArt изучаю продвижение различных задач тематики компьютерного зрения: обработка изображений, разработка программ дополненной реальности, использование нейронных сетей и т. д со спецификой для мобильных устройств. Сегодня я хочу вам рассказать про наш исследовательский/фановый проект, связанный с футболом.

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

Постановка задачи

Необходимо разработать мобильное приложение, которое бы показывало актуальную информация по футбольным клубам, составам, последним матчам. Для легкости использования своеобразной киллер-фичей приложения будет возможность отображения информации про команду при наведении телефона на ее логотип. Приложение также должно работать без подключения к интернету. Предполагаемое количество распознаваемых команд — около ста (тут уже не мы выбирали. Просто хотели охватить все клубы главных футбольных лиг Англии). Еще одна особенность — возможность «перекрашивать» пользовательский интерфейс на основе последнего распознанного логотипа.
Читать дальше →

Xcode: плагины для плагинов

Время на прочтение12 мин
Охват и читатели14K


Заинтересовавшись публикацией «Пишем свой Xcode plugin» решил написать простой тайм-трекер для Xcode. Процесс, через который я прошел — суть данной статьи. В ней мы с вами разберём несколько плагинов, которые помогут писать другие плагины быстрее и эффективнее.

Основная идея любого плагина с интерфейсом состоит в том, что он интегрируется в UI Xcode'a и выглядит максимально родным для него. Но как только мы смотрим на окно Xcode, сразу же встает вопрос: «Как понять где какой объект и как нам интегрироваться в нужный нам?» Так на нашем пути появляется первый плагин. Мы напишем простой плагин, который будет загружаться в Xcode и говорить, где какой объект расположен.
Читать дальше →

Как создать мощную систему игровых достижений

Время на прочтение9 мин
Охват и читатели42K
Признаюсь, раньше я испытывал особую неприязнь к игровым достижениям. Сейчас мне сложно вспомнить откуда растут ноги, но я не исключаю, что из-за ужасной реализации в большинстве игр. Кто старое помянет — тому глаз вон, поэтому просто признаем неоспоримый факт: геймдизайн с тех пор сильно эволюционировал.



Хотя игровые достижения не должны быть основной целью в вашей игре, это не мешает им существенно влиять на поведение игрока и его вовлеченность. Давным-давно, на одном из крупных проектов передо мной поставили масштабную задачу: создать мощную систему игровых достижений. В течении следующих 30 месяцев, я, как раб на галерах, провел за проектированием и тестированием различных систем достижений в сотнях игр. Меня поглотила бесконечная обработка данных: игровых комментариев, постов на форумах, непосредственное общение с игроками, изменения в игровых рейтингах. Я совершил и продолжаю совершать кучу ошибок, но я также усвоил несколько бесценных уроков. И эти знания нельзя держать в секрете…
Перейти к урокам

Стилизация iOS-приложений: как мы натягиваем шрифты, цвета и изображения

Время на прочтение3 мин
Охват и читатели24K


В ходе работы над мобильным приложением разработчики получают от дизайнеров макеты, шрифты и изображения. Преобразование этих материалов в код — нудное занятие, да и в процессе каждый норовит изобрести свой велосипед. Чтобы проекты оставались чистыми, мы приняли единую конвенцию по работе со стилями.
Читать дальше →