Как стать автором
Обновить
0

Cocoa *

Среда разработки приложений Mac OS X

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

Упрощаем разработку на React Native: чем полезен CocoaPods?

Время на прочтение 10 мин
Количество просмотров 2.5K

В МойОфис мы создаем продукты для совместной работы и делового общения. В том числе стремимся делать так, чтобы доступ к корпоративной коммуникации был максимально удобным для пользователя. Большинство наших решений — от редакторов документов и почтовых систем до цифрового рабочего пространства Squadus — представлены, помимо десктопа и веба, на основных мобильных платформах.

iOS- и Android-приложения Squadus мы разрабатываем с помощью кроссплатформенного фреймворка React Native. И сегодня расскажем о том, какое значение в iOS-разработке имеет CocoaPods — мощный инструмент управления нативными iOS-зависимостями, который позволяет упростить управление вашим проектом.

Под катом разбираем основы работы с CocoaPods, а также пример его использования в проекте для исправления ошибки.

Читать далее
Всего голосов 24: ↑24 и ↓0 +24
Комментарии 4

Новости

AVFoundation — пишем простейшую фотокамеру

Время на прочтение 12 мин
Количество просмотров 4.5K

Введение в AVFoundation камеры в iOS.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Комментарии 2

Делаем патч для Pods библиотеки

Время на прочтение 3 мин
Количество просмотров 1.7K

Приветствую друзья на связи автор телеграм канала ReactNative - info, недавно столкнулся с одной интересной проблемой, сборка архива для iOS приложения постоянно завершалась такой ошибкой:

error: Abort trap: 6 (in target 'iOSPhotoEditor' from project 'Pods')

Читать далее
Рейтинг 0
Комментарии 2

Тестовые проекты без боли. Доклад Яндекса

Время на прочтение 11 мин
Количество просмотров 2.6K
Мы в команде Яндекс.Карт для iOS создаем тестовые проекты с помощью маленького плагина для CocoaPods и нескольких классов утилит. Создание проекта происходит быстро и надежно. Но может, мы слишком заморачиваемся и собрать проект вручную с нужными настройками и зависимостями не так сложно? В докладе я пошел от противного: сначала разобрал ручной процесс, потом наш.


— Сначала маленькая предыстория. Яндекс.Карты собираются больше минуты. На моем компьютере сборка приложения занимает чуть больше трех минут. Мы разрабатываем в тестовых проектах, чтобы тратить меньше времени на каждую сборку. У нас достаточно прокачанная модульность, и для каждого модуля мы делаем тестовый проект. В этом тестовом проекте ведется разработка фичи.
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 0

Истории

Измените свой образ мышления, работая с SwiftUI

Время на прочтение 3 мин
Количество просмотров 8.4K
image

На прошлой неделе я увидел, что сообщество пытается перенести наработаные шаблоны разработки c UIKit в SwiftUI. Но я уверен, что лучший способ написать эффективный код используя SwiftUI — это забыть все об UIKit и полностью изменить свое мышление с точки зрения разработки пользовательского интерфейса. На этой неделе я расскажу основные отличия между разработкой используя UIKit и SwiftUI.
Читать дальше →
Всего голосов 17: ↑13 и ↓4 +9
Комментарии 1

Redux — подобные контейнеры состояния в SwiftUI. Рекомендации

Время на прочтение 3 мин
Количество просмотров 2.2K
image

На прошлой неделе мы говорили о Redux – подобных контейнерах состояний в SwiftUI. Redux предоставляет единый источник истинностных значений, который предотвращает огромное количество потенциальных ошибок, которые могут возникнуть в разных состояниях приложения. На этой неделе мы поговорим о проверенных методах создания приложений на основе Redux, которые позволят сохранять нашу кодовую базу простой и без ошибок.
Читать дальше →
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 0

Redux — подобные контейнеры состояния в SwiftUI. Основы

Время на прочтение 5 мин
Количество просмотров 4.1K
image

На этой неделе мы поговорим о создании контейнера состояний схожим с тем, который используется в Redux. Он является единственным источником значений для разрабатываемого приложения. Единое состояние для всего приложения облегчает отладку и проверку. Единый источник истинностных значений устраняет тысячи ошибок, возникающих при создании нескольких состояний в приложении.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 1

Интеграционное тестирование для проверки на наличие утечки памяти

Время на прочтение 5 мин
Количество просмотров 4.2K
Мы пишем множество юнит тестов, разрабатывая приложение SoundCloud под iOS. Юнит тесты выглядят вполне великолепно. Они короткие, (надеюсь) читабельны, и они дают нам уверенность в том, что код, который мы пишем, работает так, как и ожидается. Но юнит тесты, как следует из их названия, охватывают только один блок кода, чаще всего функцию или класс. Итак, как отловить ошибки, которые существуют во взаимодействиях между классами — ошибки, такие как утечки памяти?
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 4

Ждём всех на очередном CocoaHeads Meetup

Время на прочтение 2 мин
Количество просмотров 1.4K


8 февраля в московском офисе Mail.ru Group пройдёт очередная зажигательная встреча сообщества CocoaHeads. Если кто не знает, это регулярный митап для iOS разработчиков. В программе три интересных доклада и свободное общение с коллегами по цеху.
Читать дальше →
Всего голосов 26: ↑26 и ↓0 +26
Комментарии 2

Митап CocoaHeads в офисе Туту.ру

Время на прочтение 1 мин
Количество просмотров 1.1K
image

Мы вновь ждем у себя гостей митапа CocoaHeads! Встречаемся уже в эту пятницу, 13 апреля. Традиционно будет пицца, круглый стол, викторина и, конечно же, интересные доклады. Зарегистрироваться на мероприятие можно через приложение CocoHeads для iOS.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Что нового в Swift 4.1?

Время на прочтение 13 мин
Количество просмотров 7K
Xcode 9.3 и Swift 4.1, наконец-то, уже не являются бета! Данный релиз содержит долгожданные улучшения стандартной библиотеки и самого языка. Если вы не следите за процессом Swift Evolution, то эта статья для Вас.

Swift 4.1

В этой статье вы узнаете о наиболее значительных изменениях, внесенных в Swift 4.1.

Эта статья требует наличия Xcode 9.3, поэтому убедитесь, что данная версия Xcode установлена.
Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Комментарии 3

24 марта, Москва – CocoaHeads Special Event

Время на прочтение 1 мин
Количество просмотров 1.3K
Привет, Хабр!

В эту субботу, 24 марта, пройдет полезное и интересное для всех iOS-разработчиков мероприятие – CocoaHeads Special Event.


Нас там будет представлять Илья iltsarev Царев, Head of iOS Альфа-Банка с докладом про итеративную разработку «Feedback Driven Development».

А теперь подробности.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 0

Приглашаем на CocoaHeads Special Event 24 марта

Время на прочтение 3 мин
Количество просмотров 1.6K


Друзья, приглашаем всех, кто занимается мобильной разработкой под iOS, на CocoaHeads Special Event в московский офис Mail.Ru Group. В программе первого самого крупного в Европе митапа по iOS-разработке – 6 хардовых докладов, викторина и, конечно, неформальное общение. Программа встречи под катом.

Читать дальше →
Всего голосов 21: ↑18 и ↓3 +15
Комментарии 2

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

Libdispatch. Как сделать приложение отзывчивым

Время на прочтение 11 мин
Количество просмотров 13K

image



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


  • Pthreads, или потоки POSIX. Библиотека для низкоуровневой работы с многопоточностью. Определена как набор типов и функций на языке C. Подробнее можно ознакомиться тут.
  • Background selectors. Это отправка сообщения объекту, которое будет исполнено на указанном потоке. В коде это селектор с названием performSelector и различными параметрами (например, performSelectorOnMainThread:withObject:waitUntilDone:). Документация
  • NSThread. Представлены как базовые средства для работы с потоками. Ознакомьтесь с концептуальным документом по работе с потоками и документацией.
  • Grand Central Dispatch. Библиотека, основанная на блоках — анонимных участках кода, иначе замыканиях. Рабочее название — libdispatch.
  • NSOperation. Построен на основе GCD. Стоит заметить, что сама операция является абстрактной сущностью и на практике стоит использовать NSInvocationOperation и NSBlockOperation.

В этой статье поговорим о вопросах GCD.

Читать дальше →
Всего голосов 45: ↑29 и ↓16 +13
Комментарии 7

CocoaHeads Russia. Прямая трансляция

Время на прочтение 1 мин
Количество просмотров 3K
Привет, хабраюзеры!

Сегодня (23 июня 2017) в офисе Туту.ру пройдет очередной митап iOS разработчиков. Мы организуем прямую трансляцию митапа. Если вы не смогли к нам попасть, то у вас есть шанс увидеть все online.

Программа


  • 19:10 Открытие
  • 19:15 Анимация как средство самовыражения.
    Александр Зимин
  • 20:00 Перерыв
  • 20:25 Team Lead. Структурирование мыслей.
    Николай Ашанин
  • 21:00 Перерыв
  • 21:15 Викторина
  • 21:40 Реактивный VIPER.
    Дмитрий Котенко
  • 22:10 Автепати (трансляция в личные соцсеточки)
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 4

CocoaHeads Russia в офисе Туту.ру

Время на прочтение 2 мин
Количество просмотров 2.1K

23 июня Туту.ру и CocoaHeads Russia проведут очередную встречу сообщества iOS-разработчиков в Москве. В программе 3 доклада, викторина и афтерпати после встречи.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 0

Насколько удобным может быть API для рисования в iOS?

Время на прочтение 4 мин
Количество просмотров 7.8K

Здравствуйте, меня зовут Виктор, я работаю в компании Exyte. Недавно мы выложили в open source нашу внутреннюю разработку — библиотеку для работы с векторной графикой и ее анимации Macaw. Я хочу поделиться впечатлениями от применения ее в реальном проекте и рассказать о ее преимуществах над нативным API.


Как разработчикам, нам часто приходится создавать нестандартные контролы и повторять одни и те же рутинные действия даже для простых эффектов:


  • Отнаследоваться от UIView, чтобы переопределить drawRect
  • Описать "сцену" используя устаревший Core Graphics API

Давайте попробуем создать нестандартный контрол и используем его как пример:


ControlImage


Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 6

Macaw — удобная библиотека для векторной графики в Cocoa

Время на прочтение 10 мин
Количество просмотров 9.8K

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


Именно с этой проблемой мы столкнулись во время разработки iOS приложений. Чтобы упростить задачу, мы разработали графическую библиотеку Macaw, которая позволяет описывать сложные интерфейсы в виде понятных объектов сцены и даже напрямую отображать SVG графику с поддержкой событий и анимации.


Интересно? В этой статье мы познакомим вас с базовыми понятиями Macaw и вместе создадим диаграмму с анимацией, используя минимум кода.


image
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Комментарии 17

Руководство новичка по разработке плагинов для графического редактора Sketch

Время на прочтение 38 мин
Количество просмотров 8.4K


Приветствую друзья! Меня зовут Антон, я развиваю сайт ux.pub посвященный графическому редактору Sketch. Очень часто мне на почту приходят вопросы о тонкостях разработки плагинов для Sketch. Я не разработчик и не специалист в создании плагинов, поэтому я решил сделать перевод самого подробного руководства по созданию плагинов от Mike Mariano.

Часть 1  — С чего начать?


Вы хотите начать писать Sketch-плагины и не знаете, с чего начать? Продолжайте читать, так как этот пост как раз для вас!

Освоить базу не так просто. Есть масса примеров уже существующих плагинов, но очень сложно понять, с чего нужно начать. В помощь вам я собрал всю нужную информацию, которую только удалось отыскать, в одном месте.
Читать дальше →
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 2

Переход на ReactiveCocoa v.4

Время на прочтение 5 мин
Количество просмотров 10K
image

Если вы когда – либо интересовались фреймворком ReactiveCocoa, то заметили, что есть небольшое количество постов на тему реактивного программирования и фреймворка ReactiveCocoa, такие как Знакомство с ReactiveCocoa, или Лучший мир с ReactiveCocoa. До сегодняшнего дня, все эти посты были на тему ReactiveCocoa 2 версий, которая была написана на и для Objective-C. Сейчас все больше набирает популярность язык Swift, разработчики ReactiveCocoa усиленно работают над новой версией, которая будет написана на языке Swift и будет иметь некоторые функциональные особенности, которые являются фундаментальными для данного языка.

Я подозреваю, что многие из вас, как и я, с огромным желанием оставили Objective-C и перешли на Swift. Если вы хотели бы использовать ReactiveCocoa с новым языком, я вам настоятельно рекомендую попробовать использовать новую версию ReactiveCocoa. И я уверен, что наше сообщество получит огромную пользу от вклада, сделанного вами. С другой стороны, если вы работаете над большими бизнес приложениями в продакшн для определенного заказчика, я должен вам сказать – не делайте этого или хорошенько подумайте перед тем как использовать его. Но об этом мы поговорим дальше, если кого заинтересовал — прошу под кат.
Читать дальше →
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 5